次のような関数を使用してファイルを読み取っています。
#include <iostream>
#include <fstream>
#include <string>
...
void readfile(string name){
string line;
int p = 0;
ifstream f(name.c_str());
while(getline(f,line)){
p++;
}
f.seekg(0);
cout << p << endl;
getline(f,line);
cout << line << endl;
}
Mi ファイルには 3 行あります。
first
second
third
私は出力を期待していました:
3
first
代わりに私は得る:
3
(nothing)
シークが機能しないのはなぜですか?