-3

cin.ignore(256, '\n')以下代码中的含义是什么?

while (std::cin.fail()) {
    std::cout << "Please enter a mark from 1 to 100. Enter your first mark" << std::endl;
    std::cin.clear();
    std::cin.ignore(256,'\n');
    std::cin >> dblMarkOne;
}
4

4 回答 4

2

这意味着提取并丢弃流中接下来的 256 个字符,或者直到下一个换行符。参考:http ://en.cppreference.com/w/cpp/io/basic_istream/ignore

于 2013-09-12T02:02:31.217 回答
1

它将继续跳过字符,直到满足两个条件之一

条件 1:跳过的字符数 = 256

条件 2:找到一个 '\n' 字符

因此,在您的情况下,它是从新行开始读取

于 2013-09-12T02:08:33.190 回答
0

它将忽略出现在流中的最多 256 个字符,如果'\n'找到则更少。

它在您的示例中的使用是使用getline.

于 2013-09-12T02:02:59.710 回答
0

它最多忽略字符 256 次或最多到换行符。

来自C++ 参考

于 2013-09-12T02:03:08.390 回答