Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;附加到现有文件_C++_Fstream_Ofstream - Fatal编程技术网

C++ C++;附加到现有文件

C++ C++;附加到现有文件,c++,fstream,ofstream,C++,Fstream,Ofstream,我尝试从多个文件中获取数据,并使用fstream将它们附加到一个文件中,但是每当我尝试使用fstream输出到现有文件时 std::ofstream Out("mushroom.csv", std::ofstream::app); 它输出到文件的末尾,我希望它附加到同一行,例如,如果这是上一个文件: 1,2,3,4,5,6,7 8,9,10,11,12,13 我希望它成为: 1,2,3,4,5,6,7,a,b,c 8,9,10,11,12,13,c,d,e 你不能。文件实际上没有

我尝试从多个文件中获取数据,并使用fstream将它们附加到一个文件中,但是每当我尝试使用fstream输出到现有文件时

 std::ofstream Out("mushroom.csv", std::ofstream::app);
它输出到文件的末尾,我希望它附加到同一行,例如,如果这是上一个文件:

 1,2,3,4,5,6,7
 8,9,10,11,12,13
我希望它成为:

 1,2,3,4,5,6,7,a,b,c
 8,9,10,11,12,13,c,d,e

你不能。文件实际上没有行,它们只存储一堆字符/二进制数据。当你有

1,2,3,4,5
6,7,8,9,0
看起来只是因为里面有一个不可见的字符,告诉它把第二行写到第二行。文件中的实际数据为

1,2,3,4,5\n6,7,8,9,0
因此,您可以看到文件的结尾在
0
之后,要在
5
之后,您需要搜索文件的中间部分


解决这个问题的方法是将文件的每一行读取到某个容器中,然后将数据添加到每一行的末尾。然后将整个内容写回文件,替换原始内容。

欢迎使用堆栈溢出。请花点时间阅读并参考你可以在这里问什么和怎么问的材料。@πάνταῥεῖ 这确实属于可以问的问题,它没有主观的答案,也不是“闲聊”或开放式的,这是我面临的一个真正的问题…我看不出你一直在阅读这些材料。你可以提供一些源代码,帮助我们给你一个合格的答案。顺便说一下,这个问题在这里似乎有答案: