{
FILE* f1 = fopen("C:\\num1.bin", "wb+");//it will create a new file
int A[] = { 1,3,6,28 }; //int arr
fwrite(A, sizeof(A), 1, f1); //should insert the A array to the file
}
我确实看到了文件但是即使在fwrite之后,文件仍为空(0字节)有人知道为什么吗?
答案 0 :(得分:7)
您需要使用fclose
否则写缓冲区不会(必然)强制将文件内容写入磁盘
答案 1 :(得分:5)
有几件事:
sortedCursorArray.splice(10)
或fclose
的调用。如果没有这个,任何缓存/挂起的写入都不一定会实际写入打开的文件。fflush
的返回值。如果fopen
因任何原因失败,它将返回NULL指针而不是有效的文件指针。由于您是在Windows平台上直接写入驱动器C:\的根目录,因此您肯定做要检查的内容(不是在其他情况下也不应该这样,但是在常规用户帐户下运行该位置通常是写保护的。)答案 2 :(得分:2)