ファイルで負の数を正に変更するこのプログラムがあります。動作しますが、ファイル内の負の数は変更されません。たとえば、ファイルに 12 2 -3 -1 という数字がある場合、プログラムを実行すると数字の合計は 18 になりますが、ファイルを再度開くと 12 2 -3 -1 と表示されます。12 2 3 1 を表示するにはどうすればよいですか? ここに私のコードがあります:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string name;
cin >> name;
int number;
int num=0;
ifstream myFile(name, ios::in);
ofstream mine(name, ios::app);
while(myFile >> number)
{
num += (number<0 ? -number : number);
mine << num;
}
cout << "num = " << num << endl;
system("pause");
return 0;
}