我有一个从文件中读取的函数:
void input(char* buffer, FILE* fp)
{
char temp[100];
fgets(temp,100,fp);
strcpy(buffer,temp);
buffer [strlen(buffer)-1]=0;
}
我提出:
1
2
3
4
5
最后一行以换行符结束。
我尝试以这种方式读取文件:
FILE* fp=fopen("myfile.txt","r");
while(!feof(fp))
{
char buffer[100];
input(buffer,fp);
puts(buffer);
}
它成功读取了所有五个字符串:"1","2","3","4","5" 并打印它们,但是在打印第 5 个字符串后,出现分段错误。