Page principale | Liste alphabétique | Liste des classes | Liste des fichiers | Membres de classe | Membres de fichier | Pages associées

Tools.cpp

Aller à la documentation de ce fichier.
00001 /*! \file Tools.cpp
00002     \brief Outils pour parser.
00003 
00004     Outils permetant de manipuler (conversion, decoupage) des données.
00005 
00006     \author     aerith (http://aerith.fr)
00007     \version    3.0
00008     \date       13/04/2008
00009 */
00010 
00011 #include    "Tools.h"
00012 
00013 
00014 char    *gettok(const char *pData, unsigned int iPos, const char *pCar)
00015 {
00016     static char     Data[TOOL_BUFFER];
00017     unsigned int    c = 0, n = 0, l = 0;
00018     const char      *ppCar;
00019 
00020     while(*pData && (n <= iPos))
00021     {
00022         ppCar = pCar;
00023         while(*ppCar && (*ppCar != *pData))
00024             ppCar++;
00025 
00026         if(*ppCar)
00027         {
00028             if(!l)
00029             {
00030                 l = 1;
00031                 n++;
00032             }
00033         }
00034         else
00035         {
00036             l = 0;
00037             if(iPos == n)
00038                 Data[c++] = *pData;
00039         }
00040         
00041         pData++;
00042     }
00043 
00044     Data[c] = 0;
00045 
00046     return Data;
00047 }
00048 
00049 char    *ItoA(int iNbr)
00050 {
00051     static char     buffer[TOOL_CONV];
00052 
00053     snprintf(buffer, TOOL_CONV, "%d", iNbr);
00054 
00055     return buffer;
00056 }
00057 
00058 int     AtoI(const char *pNbr)
00059 {
00060     return atoi(pNbr);
00061 }
00062 
00063 char    *FtoA(float fNbr)
00064 {
00065     static char     buffer[TOOL_CONV];
00066 
00067     snprintf(buffer, TOOL_CONV, "%f", fNbr);
00068 
00069     return buffer;
00070 }
00071 
00072 float   AtoF(const char *pNbr)
00073 {
00074     return atof(pNbr);
00075 }
00076 
00077 unsigned int    IsUInt(const char *pBuf)
00078 {
00079     unsigned int    i;
00080 
00081     for(i = 0; pBuf[i]; i++)
00082         if((pBuf[i] < '0') || (pBuf[i] > '9'))
00083             return 0;
00084 
00085     return 1;
00086 }
00087 
00088 unsigned int    IsAlphaNum(const char *pBuf)
00089 {
00090     unsigned int    i;
00091 
00092     if(!(*pBuf))
00093         return 0;
00094 
00095     for(i = 0; pBuf[i]; i++)
00096     {
00097         if((pBuf[i] < 'a') || (pBuf[i] > 'z'))
00098             if((pBuf[i] < 'A') || (pBuf[i] > 'Z'))
00099                 if((pBuf[i] < '0') || (pBuf[i] > '9'))
00100             return 0;
00101     }
00102 
00103     return 1;
00104 }
00105 
00106 unsigned int    IsAlphaNumCar(char cCar)
00107 {
00108     if(!cCar)
00109         return 0;
00110 
00111     if((cCar < 'a') || (cCar > 'z'))
00112         if((cCar < 'A') || (cCar > 'Z'))
00113             if((cCar < '0') || (cCar > '9'))
00114                 return 0;
00115 
00116     return 1;
00117 }
00118 
00119 unsigned int    IsIn(char cCar, const char *pBuf)
00120 {
00121     unsigned int    i;
00122 
00123     for(i = 0; pBuf[i]; i++)
00124         if(cCar == pBuf[i])
00125             return 1;
00126 
00127     return 0;
00128 }
00129 
00130 unsigned int    Replace(char cCar, char cNew, char *pBuf)
00131 {
00132     unsigned int    j = 0, i;
00133 
00134     for(i = 0; pBuf[i]; i++)
00135     {
00136         if(cCar == pBuf[i])
00137         {
00138             pBuf[i] = cNew;
00139             j++;
00140         }
00141     }
00142 
00143     return i;
00144 }
00145 
00146 char    *StrStr(const char *pBuf, const char *pFind)
00147 {
00148     char    *Buf = (char *)pBuf;
00149     register char   *ppBuf;
00150     register char   *ppFind;
00151 
00152     if(!*pFind)
00153         return Buf;
00154 
00155     while(*Buf)
00156     {
00157         ppFind = (char *)pFind;
00158         ppBuf = Buf;
00159 
00160         while(!(*ppBuf ^ *ppFind))
00161         {
00162             ppBuf++;
00163             ppFind++;
00164         }
00165 
00166         if(!*ppFind)
00167             return Buf;
00168 
00169         Buf++;
00170     }
00171 
00172     return NULL;
00173 }
00174 

Généré le Thu Jun 12 09:12:30 2008 pour A.I.F. par  doxygen 1.3.9.1