掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ファイルの中で改行するには? (ID:50204)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
タイトルは,「指定された行を読み取るには?」あたりが妥当かと。 a) 順番に読んでいく方法 一行ずつ読み捨てていけば,特定の行を見つけるのは簡単ですよね。 std::ifstream fin(filename); std::string str; for (int i = 0; i < line; ++i) { if (fin.eof()) { str.erase(); break; } else std::getline(fin, str); } // strがファイルfilenameのline行目 b) 全部読んでしまう方法 行に分割して配列に代入すれば,あとはO(1)でアクセス可能。 std::ifstream fin(filename); std::istream_iterator<std::string> begin(fin), end; std::vector<std::string> v(begin, end); // v[line - 1]がline行目 ※bの3行目は古いVC++(VC++ 6.0およびそれ以前)ではコンパイルできないので, std::vector<std::string> v; std::copy(begin, end, std::back_inserter(v)); に変更する必要アリ。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.