C函数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); } } 

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