| 发表于:2007-08-14 17:32:08 楼主 |
各位好,我要把两个文件拼接在一起,例如有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呢?或者大家还有什么好的方法能够使两个文件拼接到一起?谢谢大家回答! |
|
|
|
|