{
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
}
Run Code Online (Sandbox Code Playgroud)
我确实看到了文件但是即使在fwrite之后,文件仍然是空的(0字节)有没有人知道为什么?
您需要关闭该文件 fclose
否则写缓冲区不会(必然)强制将文件内容写入磁盘
有几件事:
fclose或fflush之后缺少调用.如果没有这个,任何缓存/挂起的写入都不一定会实际写入打开的文件.fopen.如果fopen因任何原因失败,它将返回NULL指针而不是有效的文件指针.既然你直接写入到驱动器C的根目录:\ Windows平台上,这东西你肯定不希望被检查(不,你不应该在其他情况下,不是,但在普通用户帐户运行位置通常写保护).