c - 读取的文件和写入的文件不相同

标签 c fflush

我正在尝试将大约 3KB 的文件内容读入缓冲区,然后将缓冲区的内容写入另一个文件。写入数据的文件只包含写入其中的一部分数据。它的大小约为 1KB。剩下的数据怎么写?

fp1 = fopen("a.txt","rb");
fp2 = fopen("b.txt","wb");

fread(buffer, 1, BUFFER_SIZE,fp1);//reading from file pointed to by fp1
//BUFFER_SIZE = 3KB
fwrite(buffer, 1, BUFFER_SIZE, fp2);//writing into a file pointed to by fp2

fwrite 之后的 fflush 会为我做吗?

最佳答案

fflush(fp2)fclose(fp2) 会将待处理的缓冲字节移动到磁盘。

关于c - 读取的文件和写入的文件不相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10135885/

相关文章:

c - 编写代码来查找坐标之间的平行线(使用 C)

c - 多次调用 fprintf;我应该什么时候使用 fflush?

c - Linux 中的 fflush 函数与什么相同?

c - 为什么 C 中未初始化的变量仍然产生输出

c++ - 将一些代码行包​​装到单个宏中的方法

c - 如何设置可定向的 GTK_WINDOW

c - fflush(stdin) 不能在 cygwin 中用 gcc 编译,但可以用 visual studio 2010 编译

c - fflush(stdin) 和 flushstdin() 之间的区别

C: Stdin - 删除多余数据

c - 严格的别名和灵活的数组成员