C++_ファイル入出力 ( 入力 ) >> 演算子使用

ファイル読込み。getline( ) を使わないコード。

 

#include <fstream> 必要。

ex ) 読みやすいように半角スペース入れて箇所あり。

    std::ifstream fS( "./hoge/text.txt");
    if( ! fS )
    {
        return;
    }
   
    int a, b;
    while ( ! ifsT.eof() )
    {
        fs >> a >> b;
    }

 

デリミタがスペース・タブ・改行

スペース、タブ、改行が 1 回以上連続している場合、
1 つのデリミタ ( 区切り ) とみなされる。

ファイルの中身が下記の場合、

    1    2
    3    4
    5        6
    7  8

a , b へ格納される値は 1 行読み込むごとに
    a → 1  3  5  7
    b → 2  4  6  8
となる。

 

デリミタがカンマなど

「 1, 2, 3 」と、デリミタがカンマなどの場合は
カンマ変数へ保持する必要あり。

    int a, b, c;
    char split;
    fs >> a >> split >> b >> split >> c;

ただし、
「 1, , 3 」といった空データがある時は getline() を使う。

 

 

こちらから。
http://ppp-lab.sakura.ne.jp/ProgrammingPlacePlus/cpp/language/006.html
http://nucl.hatenablog.com/entry/2015/03/12/005246
https://mementoo.info/archives/611
https://qiita.com/knknkn1162/items/47736785a3e472db5525
http://cplplus.web.fc2.com/Last3.html

 

以上。ファイル読込みの基礎が分かってない。 ! fS の意味とか。