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

解決済みの質問

Sortプログラムについて2

えっと、前回もSortのプログラムについて、質問させていただいたのですが、このプログラムでは、二つのファイルを使ってソートしてるのですが、一つのファイルだけを使って、それに上書きするためにはどうするればいいでしょうか?
下に、ソースを貼っておきます。


#include <iostream>
#include <fstream>
#include <list>
#include <string>
using namespace std;

int main()
{
char Str[255];
list<string> str;
int count = 0;

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);
count++;
}

str.sort();

list<string>::iterator p;
p = str.begin();
while(p!=str.end()){
out << *p << endl;
p++;
}

in.close();
out.close();

getchar();
return 0;
}

よろしくお願いします。

投稿日時 - 2014-10-09 23:16:31

QNo.8784982

すぐに回答ほしいです

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

in を close() するタイミングが遅すぎますし、out を生成するタイミングも早すぎます。
これを変えた後で、in の生成で指定しているファイルと out の生成で指定しているファイルを同一にすればお望みの動作となります。

投稿日時 - 2014-10-10 14:43:49

お礼

できました!!
回答ありがとうございました。

投稿日時 - 2014-10-10 17:49:04

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

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

回答(1)

あなたにオススメの質問