【发布时间】:2017-02-06 03:46:20
【问题描述】:
晚上好,
我知道有类似的问题,我一直在筛选,但这个特定问题似乎是独一无二的。
我试图弄清楚如何简单地将文本文件读入字符串,然后将字符串写入标准输出。我尝试了这段代码,但是当我调用 puts() 时,控制台中什么也没有发生。 file.txt 正确生成了“hello”,但最后一个 if 语句由于某种原因似乎不起作用,因为它没有达到我的测试条件。我怎样才能使它起作用?
这是网上很多很多例子给出的代码,只是稍作修改:
#include <stdio.h>
int main()
{
FILE *fp;
char str[60];
fp = fopen("file.txt","w+");
fprintf(fp,"%s","hello");
if(fp==NULL){
perror("Error opening file");
return(-1);
}
if (fgets (str, 60, fp)!=NULL)
puts(str);
printf("%s","test");
fclose(fp);
return 0;
}
【问题讨论】:
-
尝试在程序末尾添加
printf("\n")。 -
单步调试代码时调试器会告诉你什么?