Я делаю функцию для подсчета количества символов в первой строке строки. В случае, если строка имеет длину только одну строку, то она считает количество символов до завершающего нуля \ 0. Часть, в которой сравнивается символ ch с \ n, работает, как и ожидалось, но мне не удается сравнить символ ch с \ 0. Это никогда не соответствует сравнению, даже если я добавил несколько \ 0 в строку. Есть идеи?
#include <stdio.h>
int main() {
/*variables*/
char* string="shit\nand\npee\0";
int bytesRead=0;
int bytesTemp=0;
char ch=' ';
/*find the number of characters before a newline or end of string*/
while(ch!='\n') { //doesn't work with ch!='\0'
sscanf(string+bytesRead, "%c%n", &ch, &bytesTemp);
bytesRead+=bytesTemp;
printf("Bytes read: %d\n", bytesRead);
printf("Variable ch has value: %c\n", ch);
}
return 0;
}