cin>>a;//a可以是字符串也可以是字符数组
cin.get(ch);//sh是字符变量
cin.get(a,20);
//cin.getline(数组名,长度,结束符) 大体与 cin.get(数组名,长度,结束符)类似。
//区别在于:
//cin.get()当输入的字符串超长时,不会引起cin函数的错误,后面的cin操作会继续执行,
//只是直接从缓冲区中取数据。但是cin.getline()当输入超长时,会引起cin函数的错误,后面的cin操作将不再执行。
char ss[1002];
cin.getline(a,1002);
while(cin.getline(ch,1002)){;}
//cin.getline()实际上有三个参数,cin.getline(接受字符串的看哦那间m,接受个数5,结束字符)
//当第三个参数省略时,系统默认为'\0'
//如果将例子中cin.getline()改为cin.getline(m,5,'a');当输入jlkjkljkl时输出jklj,输入jkaljkljkl时,输出jk
getline(cin,st,'s');
//st是字符串类数据,不能是字符数组比如char st[100]
//getline有三个参数,第三个参数是字符串的结束符,也就是当getline遇到这个结束符时,就不在接受输入了,
//比如写成 getline(cin,st,'s'); 即使输入的是abcsabc 那么也只会显示 abc
char m[20];
while(gets(m))
{
cout<<m<<endl;
}
cin.getline(m[i],20); //m为多维数组,同样也可以用gets(m[i])
/*Cin.ignore()
Cin.ignore()方法cin.ignore(5, 'c')的是从输入流(cin)中提取字符,提取的字符被忽略(ignore),
不被使用。每抛弃一个字符,它都要计数和比较字符:如果计数值达到5或者被抛弃的字符是'c',
则cin.ignore()函数执行终止;
否则,它继续等待。它的一个常用功能就是用来清除以回车结束的输入缓冲区的内容,
消除上一次输入对下一次输入的影响。比如可以这么用:cin.ignore(1024, '\n');
通常把第一个参数设置得足够大,这样实际上总是只有第二个参数'\n'起作用,
所以这一句就是把回车(包括回车)之前的所以字符从输入缓冲(流)中清除出去
*/
/*一、cin.clear()、cin.sync()
cin.clear()是用来更改cin的状态标示符的。
cin.sync()是用来清除缓存区的数据流的。
*/