
cin是C++编程语言中的标准输入流对象,即istream类的对象。cin主要用于从标准输入读取数据,这里的标准输入,指的是终端的键盘。此外,cout是流的对象,即ostream类的对象,cerr是标准错误输出流的对象,也是ostream 类的对象。这里的标准输出指的是终端键盘,标准错误输出指的是终端的屏幕。
在理解cin功能时,不得不提标准输入缓冲区。当我们从键盘输入字符串的时候需要敲一下回车键才能够将这个字符串送入到缓冲区中,那么敲入的这个回车键(\r)会被转换为一个换行符\n,这个换行符\n也会被存储在cin的缓冲区中并且被当成一个字符来计算!比如我们在键盘上敲下了123456这个字符串,然后敲一下回车键(\r)将这个字符串送入了缓冲区中,那么此时缓冲区中的字节个数是7 ,而不是6。
cin读取数据也是从缓冲区中获取数据,缓冲区为空时,cin的成员函数会阻塞等待数据的到来,一旦缓冲区中有数据,就触发cin的成员函数去读取数据。
注意:
(1)cin>>等价于cin.operator>>(),即调用成员函数operator>>()进行读取数据。
(2)当cin>>从缓冲区中读取数据时,若缓冲区中第一个字符是空格、tab或换行这些分隔符时,cin>>会将其忽略并清除,继续读取下一个字符,若缓冲区为空,则继续等待。但是如果读取成功,字符后面的分隔符是残留在缓冲区的,cin>>不做处理。
(3)不想略过空白字符,那就使用 noskipws 流控制。比如cin>>noskipws>>input
!cin的意思是用户输入的是false(0值)或其它的非0值,当是0值的时候!cin为true,否则为false。
int i
cin>>i
表示等待输入一个int值
是一个全局输入流对象,在iostream文件里面声明,在iostream.cpp里面定义。这个对象重载了移位符>>。
扩展资料
cin的使用
# include<iostream>
using namespace std
int main(void)
{
int a,b
cout<<"a:_\b"
cin>>a//如输入char就会有多余的字符漏在缓冲区
cin.clear()//恢复goodbit
cin.sync()//清空缓冲区
cin.clear()
fflush(stdin)
cin.clear()
cin.ignore(次数,'需要结束的字符(这儿就是\n)')//一般次数取得足够大让结束符起作用,如cin.ignore(6,'a')
cout<<"b:_\b"
cin>>b
cout<<"a="<<a<<",b="<<b
system("pause")
return 0
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)