我正在寫一個C++代碼,其中我動態地創建了一個字符串數組。我寫了函數來輸出字符串數組中的項目數以及數組本身。接下來我想做的是將數組的元素存儲在文本文件中,但是當我打開已寫入的文件時,只有數組的最後一個元素出現。下面是我在做什麼的樣本:字符串輸出文件的數組
int num_elem = ReadNumElem(); // my function that gets the number of elements in the array of strings
string *MyStringArray = ReadNames(num_elem); // my function that reads a file and outputs the necessary strings into the array
for(int i = 0; i < num_elem < ++i) {
ofstream ofs("C:\\Test\\MyStrings.txt")
ofs << MyStringArray[i] << endl; // I also tried replacing endl with a "\n"
}
我是新的C++,所以我道歉,如果這是太簡單了,但我一直在尋找了一段時間,現在,我似乎無法找到一個辦法。前兩個函數不相關,我只需要知道如何將數據輸出到文本文件中,以便所有數據都顯示出來,而不僅僅是數組中的最後一個元素。謝謝!
簡單的答案是,你應該指定'的std ::的ios_base :: app'在你的'mode'參數傳遞給'ofstream'構造一個標誌,如 'std :: ofstream ofs(「C:\\ Test \\ MyStrings.txt」,std :: ios_base :: out | std :: ios_base :: app);' – oldrinb 2012-08-08 20:11:25
從長遠來看可以幫助你的答案是在循環之外打開文件一次。 – oldrinb 2012-08-08 20:11:54