fgets()在返回NULL和返回正确值之间随机更改

时间:2017-12-05 21:25:13

标签: c file null fgets

在调用我为了从文件fe中获取行所做的这个函数时,有时函数会工作并保持一段时间,直到它随机决定它不再需要工作{{1} 1}}开始返回fgets()(我不允许使用getline作为替代)。 我尝试从头开始重塑这个功能,但它仍然不想工作。我百分之百确定我的文件存在并且正在加载它。

请原谅新秀代码,第二个月使用C.

NULL

1 个答案:

答案 0 :(得分:0)

chux正确地指出,“使用printf打印出lineBuffer”不是检查fgets()的返回值。我们可以推断出更多:在大多数情况下都显示为(null)”表示lineBuffer为NULL,并且

char *lineBuffer = (char*)malloc(sizeof(char) * 75)

指示malloc()返回NULL,即。 e。内存不足或内存管理已损坏-两者都是可以想到的。