basic_istream::tellg

basic_istream::tellgは、ストリームの現在の読み取り位置を取得する。

basic_istream::tellg - cpprefjp C++日本語リファレンス

前回のプログラムで、basic_istream::getで読み込む前、読み込んだ後、の位置を確認してみる。


$ vi basic_istream.cpp
$ g++ basic_istream.cpp -o basic_istream
$ ./basic_istream
fin.tellg() = 0
ABC
fin.tellg() = 3

fin.tellg() = -1
fail
$

0、つまり先頭だったのが、読み込むと、3、つまり区切り文字のカンマ(',')のあるところを指している。
これだと、次に読み込む部分の先頭がカンマ(',')になるので、進まないというか、よくわからんが次読み込んだらfail状態(そしてtellgの値が-1)になる・・・。

Sample/cpp/basic_istream/tellg/src/basic_istream at master · bg1bgst333/Sample · GitHub