void Withdraw(int index, int amount)
{
int Balindex = 0;
fstream input("Balance.txt");
float balance = 0.0;
while ((!input.eof())&&(Balindex != index))
{
balance = 0.0;
input >> balance;
Balindex++;
}
input >> balance;
balance = balance - amount;
input << balance << endl;
}
我試圖從文本文件讀取餘額,並扣除提取的金額。指數擁有餘額的年代數。但我的文件不會覆蓋現有的值與新的一個。有什麼建議麼?使用fstream讀取和寫入同一文件
爲什麼你將'balance'分配給相同的值兩次,然後覆蓋它的內容? – elyashiv
請勿使用例如'while(!file.eof())',它不會像你期望的那樣工作。原因在於在輸入操作失敗之後,* eofbit標誌沒有被設置。 –
你對此有何看法?什麼輸入和輸出?如果它是一個文本文件,整數可能會佔用不同數量的字符,並覆蓋它不應該的值,或者不覆蓋它應該的值。 –