Например, в этом операторе
count += (buff[i] == ",");
вы сравниваете объект buff[i]
, имеющий тип char
, со строковым литералом ","
, который в выражении сравнения неявно преобразуется в введите const char *
.
Вам необходимо сравнить символ с символом, используя символьный литерал ','
подобно
count += (buff[i] == ',');
Другой подход заключается в использовании стандартной функции C strchr
.
for ( const char *p = buff; ( p = strchr( p, ',' ) ) != NULL; ++p )
{
++count;
}
Обратите внимание на наличие опечатки в состоянии l oop
for(i=0;i<buff[i] != 0; i++){
Вы должны написать
for(i=0; buff[i] != 0; i++){
Также кажется, что вместо этой декларации
char *csvArray[sl];
вы имеете в виду что-то вроде
char *csvArray[count + 1];