C函数fwrite()不写入文件

C function fwrite() doesn't write in file

我正在尝试将 tempGroupFile 中的结构写入 GroupFilefwrite() returns 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);
    }
}

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