Странные символы при чтении из файла с помощью fgetc
Когда я печатаю ответ переменной, он содержит несколько странных символов. В чем может быть причина?
int flag=0;
char answer[512];
char a[2];
a[1]='\0';
int c;
int status=1;
do {
c = fgetc(pp);
if( feof(pp) ) {
break ;
}
if(c=='F' || status==0){
a[0]=(char)c;
strcat(answer,a);
status=0;
}
} while(TRUE);
1 ответ
Решение
strcat
ожидает, что строка назначения будет действительной - это означает, что она должна заканчиваться нулем. Вы явно не обнуляете answer
строка. добавлять answer[0]=0
перед вашей петлей.