C++ 如何将合并两个文件

fd1=open(filename1,O_RDONLY|O_BINARY,0);fd2=open(filename2,O_RDONLY|O_BINARY,0);如何生成一... fd1=open(filename1, O_RDONLY | O_BINARY, 0);
fd2=open(filename2, O_RDONLY | O_BINARY, 0);
如何生成一个文件fd
使用十六进制软件 如UltraEdit看的时候能看到
后面的文件接在前面文件之后
展开
 我来答
moxsone
推荐于2016-09-13 · TA获得超过3333个赞
知道大有可为答主
回答量:2796
采纳率:50%
帮助的人:1535万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <io.h>
#include <memory.h>

int main(void)
{
FILE *fd1 = NULL;
FILE *fd2 = NULL;
FILE *fd = NULL;

//以二进制方式打开第一个及第二个文件读,以二进制方式打开第三个文件写
fd1 = fopen("1.txt", "rb");
fd2 = fopen("2.txt", "rb");
fd = fopen("3.txt", "wb");

//获取第一个及第二个文件的大小
int fn1 = fileno(fd1);
long fsize1 = filelength(fn1);
int fn2 = fileno(fd2);
long fsize2 = filelength(fn2);

//申请内存缓冲区保存第一个文件及第二个文件读取到的内容
char *buf1 = new char[fsize1];
memset(buf1,0x0,fsize1);
char *buf2 = new char[fsize2];
memset(buf2,0x0,fsize2);

//读第一个文件及第二个文件后关闭第一个及第二个文件后,关闭此两个文件
fread(buf1,fsize1,1,fd1);
fread(buf2,fsize2,1,fd2);
fclose(fd1);
fclose(fd2);

//将第一个文件及第二个文件的内容写到第三个文件中后,关闭第三个文件
fwrite(buf1,fsize1,1,fd);
fwrite(buf2,fsize2,1,fd);
fclose(fd);

//删除申请的内存
delete[] buf1;
delete[] buf2;

return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式