标准输入流对象cin,重点掌握的函数:
cin.get()//一次只能读取一个字符
cin.get(一次参数)//读一个字符
cin.get(两个字符)//可以读字符串
cin.getline()
cin.ignore()
cin.peek()
cin.putback()
标准输入流cin.get()
代码如下:
#include <iostream>
using namespace std;//标准输入流cin.get()
void test01()
{char ch;while ((ch = cin.get()) != EOF){cout << ch << endl;}}int main()
{test01();return 0;
}
cin.get()//一次只能读取一个字符
cin.get(一次参数)//读一个字符
cin.get(两个字符)//可以读字符串
cin.getline()
代码如下:
#include <iostream>
using namespace std;void test01()
{char ch;//cin.get(ch);//读取一个字符char buf[256] = { 0 };//cin.get(buf, 256);//从缓冲区读一个字符串cin.getline(buf, 256);//读取一行数据 不读换行符cout << buf << endl;
}int main()
{test01();return 0;
}
代码如下:
#include <iostream>
using namespace std;void test01()
{char ch;cin.get(ch);cout << ch << endl;//cin.ignore();cin.ignore(10,'\n');//忽略当前字符 从缓冲区取走了cin.get(ch);cout << ch << endl;
}int main()
{test01();return 0;
}
测试结果:
cin.peek()
代码如下:
#include <iostream>
using namespace std;void test01()
{cout << "请输入字符串" << endl;char ch;ch = cin.peek();//偷窥一下缓冲区,返回第一个字符 如果缓冲区没有,它会堵塞if (ch <= '9' && ch >= '0'){int number;cin >> number;cout << "您输入的是数字" << number << endl;}else{char buf[256] = { 0 };cin >> buf;cout << "您输入的是字符串:" << buf << endl;}}int main()
{test01();return 0;
}
测试结果:
cin.putback()
代码如下:
#include <iostream>
using namespace std;void test01()
{cout << "请输入字符串或者数字" << endl;char ch;cin.get(ch);//从缓冲区取走一个字符if (ch <= '9' && ch >= '0'){cin.putback(ch);int number;cin >> number;cout << "您输入的是数字" << number << endl;}else{cin.putback(ch);char buf[256] = { 0 };cin >> buf;cout << "您输入的是字符串:" << buf << endl;}}int main()
{test01();return 0;
}