有三种调用方式,
char str[ArSize];
char ch;
1.cin.get();//没有参数
2.cin.get(ch);//有一个参数
3.cin.get(str,ArSize);//有两个参数
另外还有一个新增的,
4.cin.getline(str,ArSize);
假设输入流里有这样一长字符串:“qwertyuiop\n“,”\n“表示键盘输入以后按了回车键,结束输入。
调用cin.get(),就会读取输入流里的一个字符,包括空格符,和tab符,每调用一次就会读取一个字符,可以用它来清空输入流里的字符。
调用一次cin.get();上面的输入流里的字符串就只剩下“wertyuiop\n“,
调用一次cin.get(ch),就会读取输入流里的一个字符(包括\n,空格符,和tab符),并将这个字符传递给char类型变量ch,那么ch即为读到的字符。
调用cin.get(str,Arsize),就会从输入流里读取一个长度为ArSize-1的字符串,并把它传递给str,并且在str字符串的末尾加\n,例如,ArSize=3,输入流里有这样一长字符串:“qwertyuiop\n“,调用cin.get(str,ArSize)以后,str=”qw\n“,
读取停止的标志是:要么读到了ArSize-1个字符(包括了空格符,和tab符),要么遇到了\n(换行符)。
4和3的用法是一样的。用cin.get()的好处是他还有1和2两种用法。
对于cin>>ch;
它会自动跳过空格和Tab符,回车(‘\n’)也是读不到的,只读取相应类型的字符。