※ ChatGPTを利用し、要約された質問です(原文:Sortプログラムについて)
ソートプログラムでの出力ファイルへの書き込みエラー
このQ&Aのポイント
自作のソートプログラムで、出力ファイルに結果を書き込めません。原因を教えてください。
ソート後の結果を出力ファイルに書き込みたいのですが、エラーが発生します。
どこが問題なのかわからず、ソートプログラムでの出力ファイルへの書き込みができません。
自分で作成したプログラムなのですが、ソートしたあと、出力ファイルに書き込みたいのですが、書き込めません。
どこが、悪いのかわからないので教えてください。
ところどころに、出力がありますが、それはトレースしたやつなので、それはほっといてくださって構いません。
下にプログラムを載せます。
よろしくお願いします。
#include <iostream>
#include <fstream>
#include <list>
#include <string>
using namespace std;
int main()
{
char Str[255];
list<string> str;
ifstream in("ttest", ios::binary | ios::in);
if (!in){
cout << "入力ファイルが読み込めない" << endl;
exit(1);
}
ofstream out("out", ios::binary | ios::out);
if (!out){
cout << "出力ファイルが読み込めない" << endl;
exit(1);
}
while (!in.eof()){
//!!!!
in.getline(Str,255);
str.push_back(Str);
}
str.sort();
list<string>::iterator p;
p = str.begin();
while (!in.eof()){
cout << *p;
out << *p++;
}
in.close();
out.close();
getchar();
return 0;
}
お礼
わかりました!!! なぜか、入力ファイルをやっていたんですね。 正解は while(p!=str.end())ですね。 ありがとうございました!!
補足
実行してみて、そこが確かに実行されてないのは分っているのですが…。 お手上げですね…。