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,结束字符) //当第三个参数省略时,系统默认为' ' //如果将例子中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, ' '); 通常把第一个参数设置得足够大,这样实际上总是只有第二个参数' '起作用, 所以这一句就是把回车(包括回车)之前的所以字符从输入缓冲(流)中清除出去 */ /*一、cin.clear()、cin.sync() cin.clear()是用来更改cin的状态标示符的。 cin.sync()是用来清除缓存区的数据流的。 */