我正在尝试从文件中读取一行并打印它。
char *readLine(int n, FILE *file) {
int i;
int BUF=255;
char temp[BUF];
char puffer[BUF];
for(i = 0; i < n-1; i++)
if(fgets(temp, BUF, file) == NULL)
return NULL;
if(fgets(puffer,BUF,file) == NULL)
return NULL;
return puffer;
}
如果我执行以下操作,我不会收到错误:
char * temp=readLine(2,somefile);
但只要我
printf("%s",temp);
valgrind 返回以下错误
Conditional jump or move depends on uninitialised value(s)
at 0x402EC04:strcrnul(in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
...