我已閱讀「可能已經有你的答案的問題」的答案,但它沒有幫助我。寫入文件,編譯,創建文件,但不寫
我想我的問題有一個快速的解決方案。
我想寫其中
- 用戶輸入他們想要創建的文件名的程序。
然後
在同一行他們輸入的整數量=新創建的txt文件的文本的行數。
在新行中,用戶輸入文本的第一行,在新行中輸入下一行,等等。
並將所有這些行保存到創建的文件中。
例如file.txt 3
bhjudshsu 565 jdd
hcxjs
jdckisa jsdjs
開放名爲file.txt我應該看到上述三行的文本文件之後。
這裏是我的代碼示例:
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main()
{
int amount;
string fileName, line;
ofstream start;
cin>>fileName>>amount;
ofstream out(fileName.c_str());
for(int i=0; i<amount; i++)
{
getline(cin, line);
start<<line<<endl;
}
start.flush();
start.close();
return 0;
}
的問題是,該文件被創建,但它是空的。
此外,如果我輸入file.txt 3
程序關閉後,我只輸入兩行。
你能告訴我我做錯了什麼嗎?
我投票關閉這一問題作爲題外話,因爲它涉及到一個簡單的和不尋常的編碼錯誤,不太可能幫助未來的讀者。 – Beta
兩個注意事項:1)流輸入('cin >> ...')和'getline'不能很好地協同工作,所以你必須做出讓步,2)最好是獨立開發新的功能*儘可能 - 你應該得到**用戶輸入**和**文件輸出**完美工作,然後再嘗試合併它們。 – Beta