的開始我有一個文件,它是像C++寫入字符串文件
這是第1行
這是第2行
和我有一個字符串This is line 0
。我如何寫這個字符串轉換成文件,使文件的內容的開頭現在:
這是行0
這是1號線
這是2號線
我現在有
ifstream myfile("lunch.txt");
myfile.seekg(0,ios::beg);
myfile << "This is line 0";
但它不是一個工作預計。
的開始我有一個文件,它是像C++寫入字符串文件
這是第1行
這是第2行
和我有一個字符串This is line 0
。我如何寫這個字符串轉換成文件,使文件的內容的開頭現在:
這是行0
這是1號線
這是2號線
我現在有
ifstream myfile("lunch.txt");
myfile.seekg(0,ios::beg);
myfile << "This is line 0";
但它不是一個工作預計。
無法寫入std::ifstream
(即輸入)。更改您的代碼以使用std::ofstream
寫輸出:
ofstream myfile("lunch.txt");
// ^^^^^^^^
// myfile.seekg(0,ios::beg); <<< this code isn't necessary
myfile << "This is line 0";
爲了解決有關文件中的現有內容之前插入,你第一次讀你的問題,同時節省例如內容一個std::vector<std::string> lines;
。然後再次打開文件,寫入第一行,並跟隨lines
中保存的值。
您無法插入文件的開頭,並且現有內容會自動移動。
最好的辦法是打開一個新文件並寫下「這是第0行」,然後複製現有文件的內容。
因爲您需要移動其餘部分以適合新行。 – 2014-12-13 10:13:13