合并两个未知大小的文件的潜在危险?

时间:2010-08-10 19:12:10

标签: visual-c++

我有一个二进制文件,我需要在开头插入一个标题。我正在考虑打开一个新文件,编写标题数据,然后将数据从二进制文件复制到这个新文件。由于二进制文件大约是1兆字节,使用fwrite制作这个文件有危险吗?一个特别关注的问题是无意中覆盖数据,类似于使用gets并且输入比缓冲区长的情况。

1 个答案:

答案 0 :(得分:1)

没有风险。分配给定大小的缓冲区,从源文件中读取多个字节,将缓冲区写回目标文件。操作(文件读取/文件写入)都占用最大字节数,因此只要您的缓冲区是您声称的大小,它就不会溢出。

此外,您描述的方法几乎是唯一的方法。我从来没有听说过一个文件系统“在这个文件的开头插入这些字节”操作。