Странные символы при чтении из файла с помощью 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 перед вашей петлей.

Другие вопросы по тегам