こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Sortプログラムについて

自分で作成したプログラムなのですが、ソートしたあと、出力ファイルに書き込みたいのですが、書き込めません。
どこが、悪いのかわからないので教えてください。
ところどころに、出力がありますが、それはトレースしたやつなので、それはほっといてくださって構いません。
下にプログラムを載せます。
よろしくお願いします。

#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;
}

投稿日時 - 2014-10-05 22:50:57

QNo.8780373

すぐに回答ほしいです

質問者が選んだベストアンサー

> list<string>::iterator p;
> p = str.begin();
> while (!in.eof()){ //------------ここを、よく考えてみたらどうかな
> cout << *p;
> out << *p++;
> }

投稿日時 - 2014-10-05 23:08:06

補足

実行してみて、そこが確かに実行されてないのは分っているのですが…。
お手上げですね…。

投稿日時 - 2014-10-05 23:21:21

お礼

わかりました!!!
なぜか、入力ファイルをやっていたんですね。
正解は
while(p!=str.end())ですね。
ありがとうございました!!

投稿日時 - 2014-10-05 23:26:17

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問