//字符串输入函数cin.getline()、与cin.get()的区别
#include <iostream>
using namespace std;
int main()
{
char ch0[10];
char ch1[10];
char ch2[10];
char ch3;
/*
* getline()函数读取整行,它使用通过回车键输入的换行符来确定输入结尾。
* 随后getline()将丢弃换行符,即清除输入队列中的换行符。
*/
cout<<"please input string0:"<<endl;
cin.getline(ch0,10);
cout<<"please input string1:"<<endl;
cin.getline(ch1,10);
cout<<"result from getline:"<<endl;
cout<<ch0<<endl
<<ch1<<endl
<<endl;
/*
* 工作方式与getline()相似。不同之处在于get()函数不会丢弃输入队列中的
* 换行符,而是将其保留在输入队列中。
*
* 如果不借助帮助,get()将不能跨过换行符,即后面的输入将无法正常进行。
*/
cout<<"please input string0:"<<endl;
cin.get(ch0,10);
ch3 = cin.get(); //不带参数的get()可以接收任何ascii码(即使是换
//行符)
cout<<"please input string1:"<<endl;
cin.get(ch1,10);
cout<<"please input string2:"<<endl;
cin.getline(ch2,10); //利用getline()函数也可以清楚输入队列中的换行
//符
cin.get(ch2,10);
cout<<"result from get:"<<endl;
cout<<ch0<<endl
<<ch1<<endl
<<ch2<<endl
<<(int)ch3<<endl; //可见上面不带参数的get()函数接收了换行符(换行
//符的ascii码值为10)
}