[解決済み] C++でifstreamを使用してファイルを一行ずつ読み込む
2022-03-14 19:56:39
質問
file.txtの中身は。
5 3
6 4
7 1
10 5
11 6
12 3
12 4
ここで
5 3
は座標ペアです。
このデータをC++で一行ずつ処理するにはどうしたらいいでしょうか?
最初の行は取得できましたが、次の行はどのように取得すればよいのでしょうか?
ifstream myfile;
myfile.open ("file.txt");
解決方法は?
まず
ifstream
:
#include <fstream>
std::ifstream infile("thefile.txt");
標準的な方法は2つです。
-
各行が2つの数字で構成されていると仮定し、トークン単位で読み込む。
int a, b; while (infile >> a >> b) { // process pair (a,b) }
-
文字列ストリームを使用した行単位でのパース。
#include <sstream> #include <string> std::string line; while (std::getline(infile, line)) { std::istringstream iss(line); int a, b; if (!(iss >> a >> b)) { break; } // error // process pair (a,b) }
(1) と (2) を混同してはいけません。トークン・ベースのパースでは改行されないので、(1) のように
getline()
トークンベースの抽出で行末まで到達した後に。
関連
-
[解決済み】指定範囲内の乱数で配列を埋める(C++)
-
[解決済み】Enterキーを押して続行する
-
[解決済み】'std::cout'への未定義の参照
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] template "と "typename "キーワードはどこに、なぜ入れなければならないのですか?
-
[解決済み] ファイルに行を書き込む正しい方法?
-
[解決済み] node.jsでファイルを1行ずつ読み込む?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++ クラスヘッダが含まれているときに「不明な型」があるのはなぜですか?重複
-
[解決済み】C++コンパイルタイムエラー:数値定数の前に期待される識別子
-
[解決済み] string does not name a type Errorが発生するのはなぜですか?
-
[解決済み] error: 'if' の前に unqualified-id を期待した。
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み】Visual C++で "Debug Assertion failed "の原因となる行を見つける。
-
[解決済み] 解決済み] `pthread_create' への未定義の参照 [重複] [重複
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み】Eclipse IDEでC++エラー「nullptrはこのスコープで宣言されていません」が発生する件
-
[解決済み] スタックアロケーションにより初期化されていない値が作成された