我正在试图编写一个简单的程序来写入一个.txt文件,但是这段代码不起作用。fprintf无法正常工作C
#include <stdio.h>
#include <string.h>
#include "main.h"
int main(int argc, const char * argv[])
{
FILE *f = fopen("text.txt", "w+");
char c[256];
printf("What's your name?\n");
scanf("%s", c);
fflush(f);
if (c!=NULL)
{
printf("not null\n");
int q = fprintf(f, "%s", c);
printf("%d", q);
}
else
{
printf("null\n");
}
printf("Hello, %s\n", c);
fclose(f);
return 0;
}
的printf
回报,它不为空,且int q
返回无论字符的长度。为什么不写这个文件?
我想上的Microsoft Visual C++程序,它工作正常。我在工作目录中观察到一个text.txt文件。你能分享关于你的环境的更多细节吗?另外,你为什么包含'main.h'? – Ganesh 2013-03-07 03:01:38
'c'不会为空,不需要检查。相反,确保'f'不为空。 – perreal 2013-03-07 03:01:49
并打开一些编译器警告... – 2013-03-07 03:03:26