while(cin)?】的更多相关文章

cin.ignore(a,ch)方法是从输入流(cin)中提取字符,提取的字符被忽略(ignore),不被使用.每抛弃一个字符,它都要计数和比较字符:如果计数值达到a或者被抛弃的字符是ch,则cin.ignore()函数执行终止:否则,它继续等待.它的一个常用功能就是用来清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响.比如可以这么用:cin.ignore(1024,'\n'),通常把第一个参数设置得足够大,这样实际上总是只有第二个参数'\n'起作用,所以这一句就是把回车(包括…
#cin的使用问题 cin输入类型不匹配的情况: #include<iostream> using namespace std; void main() { int i = 0; while(i<4) { int nNumb; cin >> nNumb; //如果再输入的时候输入字符串类型例如"Hello",则下次进入循环时遇到cin是不会阻塞 ++i; } return; 原因: 这是由于cin在接受键盘的缓存时由于接收的类型与变量类型不符,它会返回一个…
相较using std::cin使用using namespace std不会使得程序的效率变低,或者稳定性降低,只是这样作会将很多的名字引入程序,使得程序员使用的名字集合变小,容易引起命名冲突. 在一般的小程序中使用using namespace std,在大的项目中使用using std::cin这种格式.…
zoj遇到c++如何判定输入流结尾的问题,一不小心就超时了 楼下的代码可以通过zoj #include<iostream> using namespace std; int main(){ int a,b; while(true){ cin>>a>>b; if(cin.eof()){//换成fail(),或是good()也可以通过 break; } int sum=a+b; cout<<sum<<endl; } return 0; } 这里也可以…

cin

cin 是预定义的标准输入流对象,cin 用来接收字符串时,遇“空格”.“TAP”.“回车”时都会结束.…
输入和输出并不是C++语言中的正式组成成分.C和C++本身都没有为输入和输出提供专门的语句结构.输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的.C++的输出和输入是用"流"(stream)的方式实现的.图3.2和图3.3表示C++通过流进行输入输出的过程. 有关流对象cin.cout和流运算符的定义等信息是存放在C++的输入输出流库中的,因此如果在程序中使用cin.cout和流运算符,就必须使用预处理命令把头文件stream包含到本文件中:     #includ…
char s[100]; cin>>s;         // 输入一个字符串,遇“空格”.“TAB”.“回车”都结束 cin.getline(s, 20);    // cin.get(字符数组名, 接收字符数目) 输入一行字符串,可以接收空格 // cin.getline()实际上有三个参数,cin.getline(接受字符串的看哦那间m, 接受个数5, 结束字符) cin.get(字符数组名, 接收字符数目)  // 输入一行字符串,可以接收空格 gets(s); ch = getcha…
strlenstrlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0').指实际字符串或字符数组的实际长度(不是所占空间的字节数).函数原型extern unsigned int strlen(char *s)意思是,他从指针指向的某个地址开始扫描,并读取字符,一直读到'\0'为止,不包括'\0'strlen用于字符数组或者指针 字符型数组char…
这个问题困扰了我有一段时间了,趁着十一放假有时间,仔细研究了一下 首先来看一下输入输出运算符cin>>的构成:cin和>> cin>>是由两部分构成的,cin和>>,其中cin是输入流istream类的一个对象,隶属于iostream函数库 而>>则是运算符:这个运算符的作用是:从左侧cin对象中读取数据,并将它赋给右侧的运算对象 大体的大概说完了,接下来就是干货了!! ......................................…
为什么可以用while(cin)?   /** * @brief The quick-and-easy status check. * * This allows you to write constructs such as * "if (!a_stream) ..." and "while (a_stream) ..." */ operator void*() const { return this->fail() ? 0 : const_cast<…
  问题描述一:(分析scanf()和getchar()读取字符) scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的.但是有时候却就是因为使用这些函数除了问题,却找不出其中的原因.下面先看一个很简单的程序:程序1:    #include <stdio.h>    int main()    {char ch1, ch2;scanf("%c", &ch1); scanf("%c", &…
cin是C++的输入流,可以通过>>进行读取. 判断读取结束,一般有两种方法,具体取决于与输入的约定. 1 以特殊值结尾. 如输入整数,以-1结束,那么当读到-1的时候,就确定读取结束了. 代码: int n; while(1) {     cin>>n;     if(n == -1)break;     //处理输入的合法值. } 2 以EOF结尾,即文件结束符. 这种处理方式适用于以文件作为输入,或者在键盘手动输入文件结束符作为结尾标记. 代码: int n; while(c…
这几个输入函数经常搞不清具体特点和用法,这里稍作总结 一.cin>> 1.最基本用法,输入一个变量值 2.输入字符串,遇“空格”.“TAB”.“回车”结束,比如输入“hello world”,输出“hello” 二.cin.get() 1.用来接收字符,比如 char c; c=cin.get();//或者cin.get(c); cout<<c; 输入 hello,输出h; 2.cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格,例如 char a[12];…
scanf和cin的差异 引例:http://www.cnblogs.com/shenben/p/5516996.html 大家都知道,在C++中有两种输入.输出方式—scanf和cin,但是,它们之间存在的差异,你们知道么?下面请看测评吧!   测试题目: 输入n个数,输出n个数.   测试环境:ubuntu12.04 i3CPU 4G内存 7200转硬盘 测试结果: 测试结果使用linux的time测试时间,结果如下:   10000组数据时: real代表程序执行总时间,user代表用户输…
1. 首先cin>>a返回的是左操作数,也就是返回cin. cin的条件状态中: cin.eof()    判断流是否到达文件的结束符 cin.fail()    判断IO操作是否失败 在while(cin>>a)中看流是否还能用,主要是判断 cin.fail()  的取值.事实上,无论是否用于while循环,流必须处于无错误状态才能用于输入和输出 ,也就是cin.fail() 必须为0值,程序以下的cin操作才能正常执行. 导致cin.fail() 为1的操作有:输入坏值 或 遇…
1.cin>> 用法1:最基本,也是最常用的用法,输入一个数字: 注意:>> 是会过滤掉不可见的字符(如 空格 回车,TAB 等) cin>>noskipws>>input[j];//不想略过空白字符,那就使用 noskipws 流控制 用法2:接受一个字符串,遇“空格”.“TAB”.“回车”都結束 #include <iostream> using namespace std; main () { ]; cin>>a; cout&l…
#include <iostream> #include <string> using namespace std; //关于cin cin.getline cin.get getline gets getchar 的用法实例 void main(int argc, char* argv[]) { //1.cin>> //method one, 也就是最常用的方法 输入一个数字 :" << endl; int a,b; cout << …
Ubuntu虚机中SVN连接出错,虚机本机可正常CO,CIN,外面机器无法正常连接. 解决: 虚机换个IP即可正常连接,原因不明,有可能为公司网管对该IP做了某些限制. PS:VMware中只需将网络设置为桥接,即可将虚机做为一个单独的机器运行.…
cin>>m>>n; ;i<=m;i++) { ; char ch=' '; ) //在遇到换行之后进入下一层循环读入. { x++; cin>>c[x]; ch=getchar(); } 神奇的输入. get skill!…
在程序中一般用cout和插入运算符“<<”实现输出,cout流在内存中有相应的缓冲区.有时用户还有特殊的输出要求,例如只输出一个字符.ostream类除了提供上面介绍过的用于格式控制的成员函数外,还提供了专用于输出单个字符的成员函数put.如:    cout.put('a');调用该函数的结果是在屏幕上显示一个字符a.put函数的参数可以是字符或字符的ASCII代码(也可以是一个整型表达式).如    cout.put(65 + 32);也显示字符a,因为97是字符a的ASCII代码. 可以…