私は現在このコードを持っており、すべての書式設定は正しいです...私は出力テキストファイルに行を作成するようには思えません...どうすればいいですか?私は関数とmain()でforループを実行しようとしましたが、それを行うとうまくいかないようですので、今は非常に混乱しています。あなたはそれが切り捨てられ、新しいファイルを作成し、書き込み時はいつでもあなたのファイルを追加していない出力ファイルに行を作成するにはどうすればよいですか?
#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
using namespace std;
void output(string flightnumber, int arrival1, int arrival2, int realarrival1, int realarrival2, char dummy1, char dummy2)
{
ofstream flight;
flight.open("flightdata.dat");
if (flight.fail())
{
cout << "Error..." << endl;
exit(1);
}
cout << "Enter the flight number: ";
cin >> flightnumber;
if (flightnumber == "end")
{
exit(1);
}
flight << flightnumber << setw(4);
cout << "Enter the scheduled/actual arrival times (hh:mm hh:mm):";
cin >> arrival1 >> dummy1 >> arrival2 >> realarrival1 >> dummy2 >> realarrival2;
flight << arrival1 << dummy1 << arrival2 << setw(4) << realarrival1 << dummy2 << realarrival2;
flight << ('\n');
}
int main()
{
string flightnumber;
int arrival1, arrival2, realarrival1, realarrival2;
char dummy1, dummy2;
output(flightnumber, arrival1, arrival2, realarrival1, realarrival2, dummy1, dummy2);
return 0;
}
"うまくいかないようです"というのは有用な問題の説明ではありません。 –
すべてのエディタが1行の改行を改行として扱うわけではありません。メモ帳のようなものは、キャリッジリターン '\ r'と改行文字を見たいと思うでしょう。 – Pemdas