C函数fwrite()不会写入文件

时间:2015-03-20 17:35:46

标签: c file-io io fwrite

我正在尝试将tempGroupFile的结构写入GroupFile。写入时fwrite()返回1,但实际上文件GroupFile中没有写入数据。函数printRec()打印出屏幕上的结构。 data是结构变量。这些操作后文件GroupFile为空。 代码:

GWTemp = fopen(tempGroupFile, "rb");
GW = fopen(GroupFile, "wb"); 
if((GW == NULL) || (GWTemp == NULL))
{
    puts("Failed to open file.");
    fflush(stdin);
    getchar();
    return 0;
}
while(fread(&data, sizeof data, 1, GWTemp))
{
    if(fwrite(&data, sizeof data, 1, GW))
    {
        printRec(data);
    }
}

1 个答案:

答案 0 :(得分:2)

您需要在while循环后使用fclose(GW)关闭文件。这样可以确保刷新所有缓冲区,以便写入文件。