📅  最后修改于: 2023-12-03 15:29:57.250000             🧑  作者: Mango
在C++中,std::basic_istream
是输入流的抽象类。其中的ignore()
函数用于跳过输入流中的字符,以便确定下一个有效字符。本文将介绍该函数的语法和用法,并提供典型的示例代码供程序员参考。
该函数的语法如下:
std::basic_istream& ignore(std::streamsize n = 1, int delim = EOF);
其中,n
参数为需要跳过的字符数,delim
参数为验证跳过字符的结束符。默认情况下,n
为1,delim
为EOF
。
下面是一个简单的示例代码,演示了std::basic_istream::ignore()
函数的用法:
#include <iostream>
int main() {
char c;
std::cout << "输入y并回车以继续,或者输入n并回车以退出程序:" << std::endl;
std::cin >> c;
if (c != 'y' && c != 'Y') {
std::cin.ignore(1024, '\n'); // 忽略掉之前输入中的所有字符,输入缓冲区会被清空
std::cout << "程序已退出。" << std::endl;
return 0;
}
std::cout << "继续执行程序..." << std::endl;
return 0;
}
在该代码中,用户首先被提示输入字符y
或者n
。如果输入的不是y
或者Y
,则程序将使用std::cin.ignore()
函数跳过之前输入中的所有字符,清空输入缓冲区,并显示“程序已退出”的消息。否则,程序将继续执行。这个例子非常简单,但是说明了std::basic_istream::ignore()
函数的使用场景。
注意:
std::basic_istream::ignore()
函数不能跳过空格字符,请使用std::cin.get()
或者std::cin.peek()
函数来实现这种功能。
std::basic_istream::ignore()
函数是一个非常实用的函数,可以帮助程序员跳过输入流中不需要的字符,减小输入缓冲区的负担。在实际编程中,程序员可以根据需要使用该函数。