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

Visual c++ 合并两个大小未知的文件的潜在危险?,visual-c++,Visual C++,我有一个二进制文件,需要在开头插入一个头文件。我正在考虑打开一个新文件,写入头数据,然后将数据从二进制文件复制到这个新文件。由于二进制文件约为1兆字节,使用fwrite生成此文件是否存在任何危险?一个具体的问题可能是无意中覆盖数据,类似于使用GET时发生的情况,并且输入比缓冲区长。没有风险。分配一个给定大小的缓冲区,从源文件向其中读取那么多字节,然后将缓冲区写回目标文件。这些操作(文件读取/文件写入)都会占用最大字节数,因此只要缓冲区的大小是您声称的大小,它就不会溢出 此外,您描述的方法几乎是实

我有一个二进制文件,需要在开头插入一个头文件。我正在考虑打开一个新文件,写入头数据,然后将数据从二进制文件复制到这个新文件。由于二进制文件约为1兆字节,使用fwrite生成此文件是否存在任何危险?一个具体的问题可能是无意中覆盖数据,类似于使用GET时发生的情况,并且输入比缓冲区长。

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

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