c++中 cin、cin.get()、cin.getline()、cin.getchar()的区别
①cin>>:无法接收空格、Tap键且以空格、Tap键、回车符为分隔符;
②cin.get( ):可以接收空格、Tap键且以回车符为结束符;
一:可输入单个字符
格式:
char ch;
ch=cin.get( );/cin.get(ch);
二:可输入字符串
格式:
cin.get(字符数组名,元素个数)
③getline( ):可接收空格、Tap键且以回车符为结束符;
格式:
string str;//字符串变量
getline(cin,str);
④cin.getline( ):可接收空格、Tapa键且以回车符结束;
格式:cin.getline(字符数组名,元素个数)
char m[20];
cin.getline(m,20);
③和④类似,单数getline( )属于string流类,而cin.getline( )属于istream流类,是不一样的函数。
5、对输入一个空行(即直接回车)的处理
get(str,Size):str将得到'\0',并设置cin实效位,关闭输入,但回车依然留在输入缓冲区中,因此如果我们用clear()重置cin,其下一个读取输入的操作将捕获'\n';
getline(str,Size):str将得到'\0',并将'\n'删除掉,不置实效位,不关闭输入。所以对于cin.getline来说空行是合法的输入,且不会影响下面的输入处理。
C语言中的gets( )和getchar( )
①gets(字符数组名)用于接收字符串,可包括空格、Tap键且以回车符结束;
②getchar(字符变量名)用于接收单个字符且以回车符结束,一般需要两个。前一个接收字符,后一个接收回车符。
③putchar(字符变量名或整常数)
c++中 cin、cin.get()、cin.getline()、cin.getchar()的区别的更多相关文章
- C++中cin.get(),cin.getline(),cin>>,gets(),cin.clear()使用总结
1.cin.get() 实质:类istream所定义对象cin的重载成员函数 用于读取单字符 istream& get(char&) int get(void) 用于读取字符 ...
- C++语言中cin cin.getline cin.get getline gets getchar 的用法实例
#include <iostream> #include <string> using namespace std; //关于cin cin.getline cin.get g ...
- [C/C++] 输入函数getline(cin,str) 与cin.getline(str,int)区别
cin.getline()函数是处理数组字符串的,其原型为cin.getline(char * , int),第一个参数为一个char指针,第二个参数为数组字符串长度. getline(cin,str ...
- cin,get,getline
一.cin 1.cin使用空白(空格.制表符和换行符)来确定字符串结束的位置,并且对于换行符,cin会把换行符留在输入队列.cin读取字符串放到数组中,并自动在结尾添加空字符. 例如: ]; cin& ...
- cin.get(),cin.getline(),getline(),gets(),getchar()
1.cin.get() (1).cin.get()-------提取单个字符,可以提取回车.空格 a=cin.get(); (2) 同(1)---------------提取单个字符,可以提取回车.空 ...
- nyoj 273-字母小游戏 (getline(cin, string))
273-字母小游戏 内存限制:64MB 时间限制:1000ms 特判: No 通过数:16 提交数:24 难度:0 题目描述: 给你一个乱序的字符串,里面包含有小写字母(a--z)以及一些特殊符号,请 ...
- PAT 甲级 1050 String Subtraction (20 分) (简单送分,getline(cin,s)的使用)
1050 String Subtraction (20 分) Given two strings S1 and S2, S=S1−S2 is defined to be t ...
- 20140923 cin.get() getline cin
#include<iostream> #include<string> using namespace std; int main() { string title; ...
- P1055 ISBN号码(getline(cin,s); printf("%s",str); )
题目描述 每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包括 9 位数字.1 位识别码和 3 位分隔符,其规定格式如 x-xxx-xxxxx-x,其中符号 - 就是分隔符(键盘上的 ...
随机推荐
- 7.4.1 Dumping Data in SQL Format with mysqldump
7.4 Using mysqldump for Backups 使用mysqldump 用于备份: 7.4.1 Dumping Data in SQL Format with mysqldump 7. ...
- 【转】Android源代码查看途径
原文网址:http://www.it165.net/pro/html/201501/32967.html 作为一个android coder,多阅读android源码对提高android开发水平是很有 ...
- STM32 CAN 波特率设置及采样点设置
一.CAN波特率 STM32 位时间定义: ● 同步段(SYNC_SEG):通常期望位的变化发生在该时间段内.其值固定为1个时间单元(1 x tCAN).● 时间段1(BS1):定义采样点的位置.它包 ...
- rails console --sandbox出现的安装错误解决方案
rails中可以用使用console命令行来测试运行rails应用程序,但是采用源码编译安装的话可能缺少readline动态库,导致ruby无法使用这个库此时如果调用rails console(rai ...
- windows 编程—— 常用函数 与 操作
目录: MessageBox() 和 PlaySound() 获得窗口 或屏幕大小 获得字体大小 输出文字 屏蔽和显示控制台窗口 1. MessageBox() 和 PlaySound() Messa ...
- 再谈javascript原型继承
Javascript原型继承是一个被说烂掉了的话题,但是自己对于这个问题一直没有彻底理解,今天花了点时间又看了一遍<Javascript模式>中关于原型实现继承的几种方法,下面来一一说明下 ...
- 生成 JSON 数据
//build an info object and convert to json NSDictionary* info = [NSDictionary dictionaryWithObjectsA ...
- Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理
Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理 本博文主要介绍 Laravel 框架中 Eloquent 对一对多关系的处理以及在 Laravel Administra ...
- [Javascript] What is JavaScript Function Currying?
Currying is a core concept of functional programming and a useful tool for any developer's toolbelt. ...
- 招一位安防软件project师,嵌入式开发project师
岗位职责 1.负责海思平台IPC产品应用层软件设计及维护 2.私有平台协议对接及为第三方提供技术支持. 任职资格: 1.较强的学习.领悟能力,能够高速熟悉公司现有代码. 2.熟练掌握C.C++开发语言 ...