在这个程序中,由于行而导致分段错误:
fgets( string , 50, in );
如果我发表评论,该程序退出正常,但我不确定我做错了什么? 我检查了函数fgets的声明,这似乎对程序来说很好。
//char *fgets(char *str, int n, FILE *stream)
#include <stdio.h>
int main(int argc, char const *argv[])
{
FILE *in;
char string[100];
in = fopen("in.txt", "r" );
// if i remove this line segmentation fault is no more.
fgets( string , 50, in );
fclose(in);
return 0;
}
答案 0 :(得分:2)
fopen()
可能没有成功,请在尝试阅读之前检查其返回值。