原理
1.cin 是 C++ 的标准输入流对象,即 istream 类的对象。cin 主要用于从标准输入读取数据,这里的标准输入,指的是终端的键盘。此外,cout 是输出流对象,即 ostream 类的对象,cerr 是标准错误输出流的对象,也是 ostream 类的对象。这里的标准输出指的是终端键盘,标准错误输出指的是终端的屏幕。
个人的理解
1.在理解 cin 功能时,不得不提标准输入缓冲区。当我们从键盘输入字符串的时候需要敲一下回车键才能够将这个字符串送入到缓冲区中,那么敲入的这个回车键(\r)会被转换为一个换行符(\n),这个换行符也会被存储在 cin 的缓冲区中并且被当成一个字符来计算!比如我们在键盘上敲下了 abc 这个字符串,然后敲一下回车键(\r)将这个字符串送入了缓冲区中,那么此时缓冲区中的字节个数是 4,而不是 3。
2.cin 读取数据也是从缓冲区中获取数据,缓冲区为空时,cin 的成员函数会阻塞等待数据的到来,一旦缓冲区中有数据,就触发 cin 的成员函数去读取数据。
3.举例
比如从键盘输入"23.1C",为了获取浮点数,先定义一个浮点型f,然后使用cin>>f,当然它并不从缓冲区读取字符’C’,你还得定义一个字符变量a,用于读取字符’C’,然后使用cin>>a;
代码展示:
float i;
char a;
cin >> i;
cin >> b;
用法
读取方法
使用 cin 从标准输入读取数据时,通常用到的方法有 cin>>,cin.get,cin.getline。
cin>>
1.cin 可以连续从键盘读取想要的数据,以空格、tab 或换行作为分隔符。
cin.get()
cin.getline()
未完待续