cin,get,getline
一、cin
1.cin使用空白(空格、制表符和换行符)来确定字符串结束的位置,并且对于换行符,cin会把换行符留在输入队列。cin读取字符串放到数组中,并自动在结尾添加空字符。
例如:
char name[];
cin>>name; 输入:David Smith
cin只会把David放到name数组中并添加空字符'\0'
cout << "What year was your house built?\n";
int year;
cin >> year;
// cin.get();
cout << "What is its street address?\n";
char address[];
cin.getline(address, );
cout << "Year built: " << year << endl;
cout << "Address: " << address << endl;
cout << "Done!\n";
// cin.get();
return ;
输入: 如果没有cin.get(),cin>>year会把换行符留在输入队列,则cin.getline会把读取换行符并丢弃掉,address字符串为空
2.发送给cin的输入被缓冲,只有用户按下回车键后,输入的内容才会发送给程序。
char ch;
int count = ; // use basic input
cout << "Enter characters; enter # to quit:\n";
cin >> ch; // get a character
while (ch != '#') // test the character
{
cout << ch; // echo the character
++count; // count the character
cin >> ch; // get the next character
}
cout << endl << count << " characters read\n";
输入:
see ken run#really fast
输出:
seekenrun cin忽略空格和换行符,所以输入的空格没有回显;发送给cin的输入被缓冲,所以输入#后,后面还可以输入其他字符;
二、cin.getline()
getline 读取一行字符串,直到到达换行符,随后getline将丢弃换行符。
三、cin.get()
1.cin.get(str,num)
读取一行字符串,直到到达换行符,将换行符保留到输入序列中。
2.cin.get(char) 读取一个字符
cin.get(ch)读取输入中的下一个字符(包括空格和换行符),但输入仍被缓冲。
3.cin.get() 读取缓冲区的一个字符,返回值为char。
cin,get,getline的更多相关文章
- fstream,ifstream,ofstream 详解与用法
		
fstream,istream,ofstream 三个类之间的继承关系 fstream :(fstream继承自istream和ofstream)1.typedef basic_fstream< ...
 - 文件操作ofstream,open,close,ifstream,fin,依照行来读取数据, fstream,iosin  iosout,fio.seekg(),文件写入和文件读写,文件拷贝和文件
		
 1.ofstream,open,close 写入文件 #include<iostream> #include<fstream> using namespace std; ...
 - C/C++基础----标准库几个工具库tuple,bitset,正则表达式,随机数,IO库
		
tuple tuple可以有任意多个成员 默认初始化,值初始化 构造函数是explicit,必须直接初始化 make_tuple(v1,v2,-,vn) get<i> (t) 返回第i个数 ...
 - POJ - 2418 Hardwood Species(map,trie,BST)
		
1.输入若干行树名,输入结束后,按字典序输出树名及其所占百分比. 2.多种方法:map,trie,BST 3. map: #include<iostream> #include<st ...
 - C++按格式接收输入字符(京东,滴滴,360笔试必用)
		
头一次起这种标题,为了对得起这个标题,我尽量多写点~ 最近还是一边实习一遍投简历--笔试--面试,然而发现了自己的好多问题. 在答了京东笔试(滴滴,360也是这样的)的题后,发现与腾讯,阿里等公司的不 ...
 - cf之路,1,Codeforces Round #345 (Div. 2)
		
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
 - 软件工程练习, 模块化,单元测试,回归测试,TDD
		
这是<构建之法>实战教学的一部分.适合作为同学们的第二个程序作业. 第一个程序作业: 请看 “概论” 一章的练习,或者老师的题目,例如这个. 作业要求: 软件工程的作业越来越有意思了, 我 ...
 - 【编程题目】n 支队伍比赛,分别编号为 0,1,2。。。。n-1,已知它们之间的实力对比关系,
		
36.引用自网友:longzuo(运算)谷歌笔试: 19n 支队伍比赛,分别编号为 0,1,2....n-1,已知它们之间的实力对比关系,存储在一个二维数组 w[n][n]中,w[i][j] 的值代表 ...
 - sdut 487-3279【哈希查找,sscanf ,map】
		
487-3279 Time Limit: 2000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 题目链接: sdut: http://acm.sdut.ed ...
 - C++ template的一些高级用法(元编码,可变参数,仿函数,using使用方法,. C++ 智能指针)
		
1 . 通用函数可变参数模板 对于有些时候,我们无法确切的知道,函数的参数个数时,而又不想过多的使用所谓的函数重载,那么就可以效仿下面的例子: #include<iostream> #i ...
 
随机推荐
- [javaEE] javaweb的mvc设计思想
			
Servlet:在Servlet中拼接html内容 JSP:在html中拼接java JSP+JavaBean:利用javaBean将大量的代码提取走 Servlet+JSP+JavaBean:Ser ...
 - 在C++中实现类似Java的“synchronized”
			
我只是代码的搬运工,原文参见A "synchronized" statement for C++ like in Java.其实现是通过区域锁(Scoped locking)和宏定 ...
 - node.js内存缓存的性能情况
			
1. WEB 服务性能测试和优化 1.1 测试环境搭建 网络环境:内网 压力测试服务器: 服务器系统:Linux 2.6.18 服务器配置:Intel® Xeon™ CPU 3.40GHz 4 C ...
 - Toolbar和Drawerlayout的基本使用
			
参考文章: http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1118/2006.html http://www.codeceo.c ...
 - thinkphp更新数据库的时候where('')为字符串
			
if($user->where('phone='.$phone)->save($dataList)){} if($user->where(array('phone' =>$ph ...
 - csharp: Getting all image files in folder
			
/// <summary> /// /// </summary> /// <param name="sender"></param> ...
 - 在vue中安装使用vux
			
最近因为的工作的原因在弄vue,从后端弄到前端之前一直用js,现在第一次接触vue感觉还挺有意思的,就是自己太菜了,这个脑子呀....不太够用.....页面设计用了一个叫vux的东西,vux可以提供一 ...
 - 【Udacity】解决:字幕遮挡视频内容怎么办?Udacity字幕大小调整
			
字幕有没有办法显示在最下方,否则把内容挡住了,根本看不清老师所指的内容 Chrome 的小插件,能方便地调节视频的字幕大小,譬如:Udacity 的学习视频字幕大小不能调节,有时候不想它占太多位置,而 ...
 - 常用APDU指令错误码
			
状态码 性质 错误解释 9000 正常 成功执行 6200 警告 信息未提供 6281 警告 回送数据可能出错 6282 警告 文件长度小于Le 6283 警告 选中的文件无效 6284 警告 FCI ...
 - idea 出现 java.noSuchMechodFound
			
公司 用了多个项目来相互之间形成依赖.每次修改或者添加新功能,会升级版本.用的是maven,这几天 一直 出现一个问题就是:本地 升级版本完后 使用 git命令 mvn -deploy -e 打包后, ...