2

以下のコードはどのように機能しますか? forループのカウンターはどこにあり、カウンターを行番号0にリセットするにはどうすればよいですか.

for (std::string line;std::getline(ifs, line); )
{
}
4

3 に答える 3

6

カウンターは必要ありません。これは、

std::string line;
while(getline(ifs, line))
{
}

入力反復子をファイルの先頭に戻すメソッドがあります。のようなもの:ifs.seekg(0, std::ios::beg);トリックを行う必要があります。

于 2012-10-20T19:55:25.423 に答える
3

あなたのforループは次と同等です:

{
    std::string line;
    while (std::getline(ifs, line)) {
    }
}

言い換えれば、「getline返されるまで繰り返し続けるtrue」.

于 2012-10-20T19:56:27.670 に答える
1

また、カウンターを行番号0(つまり、ストリームの先頭)にリセットするには、次を使用する必要があります。

ifs.seekg (0, ios::beg);
于 2012-10-20T20:04:04.590 に答える