| Return Type | Function name | Arguments |
|---|---|---|
| hzEcode | SplitCSV | (char**,char*,unsigned int,char,) |
Declared in file: hzTextproc.h
Defined in file : hzTextproc.cpp
Function Logic:
Function body:
hzEcode SplitCSV (char** ar, char* line, unsigned int arSize, char cDelim)
{
char* i ;
uint32_t nPos ;
if (!ar || !arSize)
return E_ARGUMENT ;
nPos = 0;
if (!line || !line[0])
return E_ARGUMENT ;
if (!cDelim || cDelim == CHAR_DQUOTE)
cDelim = CHAR_COMMA ;
for (i = line ; *i && nPos < arSize ; i++)
{
if (*i == CHAR_DQUOTE)
{
i++ ;
ar[nPos++] = i ;
for (; *i ; i++)
{
if (*i == CHAR_DQUOTE)
{ *i++ = 0; break ; }
}
if (*i && *i != cDelim)
return E_FORMAT ;
continue ;
}
ar[nPos++] = i ;
for (; *i ; i++)
{
if (*i == cDelim)
{ i++ ; break ; }
}
}
return E_OK ;
}