C 函数 fwrite() 不写入文件

Naz*_*kii 4 c io file-io fwrite

我正在尝试将结构写入tempGroupFileinto GroupFilefwrite()写入时返回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);
    }
}
Run Code Online (Sandbox Code Playgroud)

blh*_*h83 6

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