peek()函数
其调用形式为cin.peek(),返回值是一个char类型的字符,其返回值是指向指向的当前字符,如果要访问的字符是文件结束符,则函数值是EOF(-1)。
但只是做观测使用,即指针仍停留在当前位置,并不后移。其功能是从输入流中读取一个字符,但该字符并未从输入流中删除。
若把输入流比作一个队列,那么peek()函数相当于队列的成员函数front(),而cin.get()则相当于队列的成员函数pop()。
使用实例
#include<bits/stdc++.h>
using namespace std;
int main ()
{
char c;
int n;
char str[256];
cout << "Enter a number or a word: "<<endl;
for(int i=0; i<3; i++){
c=cin.peek();
if ( (c >= '0') && (c <= '9') ){
cin >> n;
cout << "You have entered number " << n << endl;
}
else{
cin >> str;
cout << "You have entered word " << str << endl;
}
}
return 0;
}
运行结果: