关于文件复制的问题
各位好,我要把两个文件拼接在一起,例如有test1和test2,我要把他们放到一起,存在test中,前边是txt1的内容,后边是txt2的内容.我是这样做的:
ofstream fout(".\\test.txt",ios::out|ios::app); // 打开test
CString TableName="[test1]\r\n"; // 写入[test1]以标记
int itsize=TableName.GetLength();
fout.write(TableName,itsize);
ifstream fintest1(".\\test1.txt",ios::in); // 打开test1
fintest1.seekg(0,ios::end);
int ByteNum=fintest1.tellg(); // 读取test1有多少字节
char buffer;
finNetworkName.seekg(0,ios::beg);
for (int i=0;i<ByteNum;i++) // 按字节写入test
{
fintest1.read(&buffer,1);
fout.write(&buffer,1);
}
TableName="[test2]\r\n"; // 写入[test2]以标记
itsize=TableName.GetLength();
fout.write(TableName,itsize);
ifstream fintese2(".\\test2.txt",ios::in);
fintese2.seekg(0,ios::end); // 读取test2有多少字节
ByteNum=fintest2.tellg();
fintest2.seekg(0,ios::beg);
for (i=0;i<ByteNum;i++) // 将test2按字节写入
{
fintest2.read((char*)&buffer,1);
fout.write((char*)&buffer,1);
}
我遇到一个问题,就是因为test1和test2中都是有换行符的,拷贝到test中的时候,为什么test2和test1之间多出好多换行符,奇怪它是什么时候写入的呢,我看了test1的字节数ByteNum和文件中字节数一样,我用for循环写的,换行符是从哪里来的,这样使得[test2]前边出现了空行,怎么让它不出现,使得test1后边紧接test2呢?或者大家还有什么好的方法能够使两个文件拼接到一起?谢谢大家回答!