- 35 名前:デフォルトの名無しさん [2007/09/28(金) 16:53:01 ]
- C++初学者です。
std::fstream等を使い、テキストファイルの中身をstd::stringのオブジェクトに格納したいと思います。 テキストファイルtext.txtはShift_JISで書かれ、空白や改行、マルチバイトの文字を含みます。サイズは不明です。 この改行などは、可能な限り保持するとします。 自分は、以下のようなコードを記述しました。 std::string str; std::ifstream ifs; ifs.open("text.txt",std::ios::in); if(!ifs.is_open()) return; //オープン失敗 while(!ifs.eof()) { std::string line; std::getline(ifs,line); str += line + "\n"; } 1.getlineや>>を使って、少しずつ読み込むという方法で良いのか分かりません。一括読み込みの方法はあるのでしょうか。 2.getlineを使う場合、一時的にlineを用意し、それからstrに格納する方法を採っています。何となく冗長な気もしますが、こんなもんなのでしょうか。 3.最後に改行コードを付加する時、+"\n" という書き方をしていますが、std::endlを使う方法、もしくはそれに似たような方法はあるのでしょうか。
|

|