while(!feof(fname))
{
fscanf(fname,"%c",buf);
printf("%c",*buf);
buf++;
}
当我使用这段代码时,编译器会给我一个分段错误(核心转储)。但如果我使用而不是这个
int i = 0;
while(!feof(fname))
{
fscanf(fname,"%c",&buf[i]);
printf("%c",buf[i]);
i++;
}
此代码运行良好,并读取了文件的内容。在递增数组指针而不是将其用作数组时,我做错了什么?整个代码是
FILE *fname;
fname = fopen("input.txt", "r");
int i;
char *buf;
i=0;
while(!feof(fname))
{
fscanf(fname,"%c",buf);
printf("%c",*buf);
buf++;
}
fclose(fname);