cin>>n返回的也是一个cin对象,当一个cin对象作为条件选择、循环等的控制表达式时,编译器会将其转换为真值表达式,如果cin的iostate为goodbit,则这个真值表达式的结果为真,否则为假。正常退出可以用键盘模拟产生EOF,表示流输入结束了。 输入(cin)缓冲是行缓冲。当从键盘上输入一串字符并按回车后,这些字符会首先被送到输入缓冲
cin.get(char* s, streamsize n)用途:读取最多 n-1 个字符到缓冲区 s 中,直到遇到换行符或达到最大字符数 n。返回值:std::istream& 类型。返回输入流 cin,允许链式操作或条件检查,如 while (std::cin.get(buffer, n))。如果读取成功,流的状态保持良好,返回值可用于进一步读取或检查。如果读取失败(例如...
难道cin>>n的返回值是bool 类型? 这时候,看源码 的 重要性就体现出来了 在ios里面有 operatorvoid*()const{if(state&(badbit|failbit) )return0;return(void* )this; } 这样一段代码 再来看这样一段文字 所以说 invalid state 时 返回值为0,否则是(void *)首地址 这样就可以用while来判断了...
cin 是 C++ 标准输入流 。没有返回值。C++编程语言互换流中的标准输入流,需要iostream.h支持,即开始的时候,要有#include <iostream.h>(新版本编译器为#include <iostream>)读为 "see in",音标 "/si:ɪn/",罗马音"shi in"。cin代表标准输入设备,使用提取运算符 ">>" 从设备键盘取...
cin是C++的标准输入流,其本身是一个对象,并不存在返回值的概念。不过经常会有类似于 while(cin>>a)的调用,这里并不是cin的返回值,而是>>操作重载函数istream& operator>>(istream&, T &);的返回值,其中第二个参数由cin>>后续参数类型决定。其返回值类型为istream&类型,大多数情况下其返回...
在类似于 ssize_t getline(char **lineptr, size_t *n, FILE *stream); //getline(),在C++手册中显示Return value为input,iuput就是获取数据的流,就是getline的第一个参数 //有类似如下代码,从cin(标准输入流)中获取内容,返回值为获取内容,当遇到EOF时,返回0。 1 if(!getline(cin, line)) 2{ 3 br...
嘿嘿,说重点,cin>>从缓冲区中读取数据,当我们从键盘输入字符串的时候,需要按回车,程序才会进行下一步动作,这个按下的回车键(\r)会被替换为\n,当缓冲区为空时,cin的成员函数会阻塞等待数据的到来,一旦cin的成员函数等到了’\0’,cin的成员函数就回去读取数据,如果缓冲区第一个字符是空格,tab键,换行符,\0等...
第二次由cin.get()将换行符读入变量b,打印输入换行符的ASCII码值为10。这也是cin.get()读取一行与使用getline读取一行的区别所在。getline读取一行字符时,默认遇到’\n’时终止,并且将’\n’直接从输入缓冲区中删除掉,不会影响下面的输入处理。 (2)cin.get(str,size);读取一行时,只能将字符串读入C风格的字符...
因为cin返回的是成功读取的数据个数,0也是int型,返回值是1,while(1)是成立的,继续循环。如果是输入字母就退出了,因为成功读取的数据是0个,while(0)是不成立的,不需要按Ctrl+z退出,只要数据是非法的即可退出!不信看我截图,可行望采纳,谢谢:...