Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Sortプログラムについて2)

一つのファイルを使ってソートする方法は?

このQ&Aのポイント
  • 二つのファイルを使ってソートするプログラムについて質問させていただいたのですが、一つのファイルだけを使ってソートして上書きするためにはどうすればいいでしょうか?
  • ソースコードを貼っておきます。
  • #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; }

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

  • ベストアンサー
  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

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

RJMS
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A