Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / C++文本输入的处理

cin<<方式输入字符串时,遇到空格、制表符、换行符会输入结束。剩余输入内容将缓存在输入队列。因此,如果输入内容中有空格就要考虑其他方法了。cin.getline()和cin.get(str)都读取一行输入,直到换行符。区别是getline()丢弃换行符而get(str)将其保存在输入队列。//输入带空格的英文名,再输入工作cin.getline(name,nsize).getline(job,jsize);//get()如此做效果与上面相同cin.get(name,size).get();
cin.get(job,size);这种用法是不是和js中的原型链似曾相识呢~~但如果混合输入数字和字符串,无论使用哪种输入,都必须注意输入队列中缓存的换行符,如:1 int age;2 char hobby[50];3 cin>>age;4 cin.get(); //清除换行符5 cin.getline(hobby,50); 再说一说cin.get(ch)与cin.get()的区别:cin.get(ch)目的是将输入字符赋值给参数ch,其返回值是istream对象;而cin.get()是将输入作为返回值。遇到文件结束符EOF时,cin.get(ch)返回istream对象执行bool转换后值是false,cin.get()直接返回EOF。所以有下面两种方法判断非EOF:if(cin.get(ch)) //...if((ch=cin.get())!=EOF)//...本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-01/127517.htm