9

myFile で EOF に到達すると、Seekg が機能しないようです。

ifstream myFile("/path/file");
for(int i; i < 10; i++){
    myFile.seekg(0);//reset position in myFile
    while(getline(myFile, line)){
        doSomething
    }
}

だから、今私はループごとに入力ストリームを開いています:

for(int i; i < 10; i++){
    ifstream myFile("/path/file");//reset position in myFile
    while(getline(myFile, line)){
        doSomething
    }
}

しかし、私はむしろ 0 の位置を目指したいと思います。どうすればそれを達成できますか?

4

1 に答える 1

14

を呼び出す前に、必ずエラー フラグをクリアしてくださいmyFile.seekg()

myFile.clear();

EOF フラグが設定されると、何も抽出できなくなります。再度抽出できるようにするには、これらのフラグをクリアする必要があります。

于 2013-03-30T16:06:38.693 に答える