0

到目前为止,我只使用 Linux 进行编码(基本上是使用 Kate 的 gcc 和命令行)。我想在 Windows 中编程,因为我可以访问所有更强大的机器来运行 Win7。

所以我下载了代码块和 minGW。Hello world 运行良好,但在打印要归档的内容时,它只会给我一个空文件。我犯了新手错误吗?它创建了 testfile.txt,但执行后该文件为空。

代码:

#include<stdio.h>
#include<stdlib.h>
int main(int argc, char **argv)
{
    FILE *test;
    if (test=fopen("testfile.txt","w")==NULL)
    {
            printf("Open Failed\n");
            abort();
    }
    int i=9;
    fprintf(test,"This is a test %d\n",i);
    fclose(test);
    return 0;
}
4

1 回答 1

2

这是不正确的:

if (test=fopen("testfile.txt","w")==NULL)

你的 if 语句应该是:

 if ((test=fopen("testfile.txt","w"))==NULL)

因此文件“testfile.txt”将被正确打开,您将获得预期的输出:

This is a test 9 
于 2013-09-27T15:40:07.447 回答