CでファイルI/Oを試しています。fgetsを使用して、あるファイルからデータを読み込み、別のファイルに出力しようとしています。問題は、常にNULLを返すため、出力ファイルに何もコピーされないことです。これが私のコードです:
#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;
}
別物; fopenの2番目の引数で「a+f」を使用しようとすると、機能しませんでした。