我正在玩C中的文件I/O ..我试图用fgets从一个文件中读取数据并将其输出到另一个文件。问题是它总是返回NULL,所以没有任何东西被复制到输出文件。这里是我的代码:C:fgets始终为空
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fpIn;
FILE *fpOut;
if ((fpIn = fopen("C:\\testIn.txt", "r") == NULL))
{
printf("Cannot open input file!\n");
exit(1);
}
if ((fpOut = fopen("C:\\testOut.txt", "a") == NULL))
{
printf("Cannot open output file!\n");
exit(1);
}
char buffer[128];
while (fgets(buffer, 128, fpIn) != NULL)
{
fputs(buffer, fpOut);
}
fclose(fpIn);
fclose(fpOut);
system("PAUSE");
return 0;
}
另一件事;当我尝试在第二个arg中使用“a + f”来打开时,它不起作用。
您确定输入文件存在并且您有权访问它吗? – 2012-07-18 01:58:53
它肯定存在,我的帐户当然可以访问它,是的。有没有可能限制IDE访问它?我正在使用CodeBlocks,并且在我的计算机上拥有管理员权限。 – Matt 2012-07-18 02:01:22
这段代码是否编译?它不应该。 – 2012-07-18 02:05:47