我正在玩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