2016-12-22 79 views
-6

我試圖從多個文件獲取數據,然後使用fstream的把它們添加到一個文件,但每當我試圖輸出使用c + +附加到現有文件

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 
+0

歡迎來到Stack Overflow。請花些時間閱讀[The Tour](http://stackoverflow.com/tour),並參閱[幫助中心](http://stackoverflow.com/help/asking)中的資料,瞭解您可以在這裏問。 –

+0

@πάνταῥεῖ這確實屬於可以問的事情,它沒有一個主觀的答案,它不是「健談」或開放式結束,這是一個真正的問題,我正面臨着...... –

+0

我看不到你'我一直在閱讀這些材料。 –

回答

1

你不能。文件並沒有真正的行,只是存儲了一堆字符/二進制數據。當你有

1,2,3,4,5 
6,7,8,9,0 

它只看起來是因爲那裏有一個不可見的字符,告訴它寫第二行到第二行。該文件中的實際數據是

1,2,3,4,5\n6,7,8,9,0 

所以你可以看到那麼該文件的結尾是0後和獲得5你需要尋求到文件的中間。

你可以解決這個問題的方法是將文件的每一行讀入某個容器,然後將數據添加到每行的末尾。然後你會把整個東西寫回原來的內容。