cin.get(),cin.getline(),getline(),gets(),getchar()
1.cin.get()
(1).cin.get()-------提取单个字符,可以提取回车、空格
a=cin.get();
(2) 同(1)---------------提取单个字符,可以提取回车、空格
cin.get(a);
(3).-------------------不提取 回车
cin.get(字符数组,字符个数n,终止字符);//终止字符可以不写,默认为'\n'
或cin.get(字符指针,字符个数n,终止字符);//终止字符可以不写,默认为'\n'
不可跳过终止符号。需把回车'\n'提取掉
可以写成
cin.get(a,20);
cin.get();
也可以组合写成
cin.get(a,20).get();
2.cin.getline()//---不提取 回车
cin.getline(字符数组 /字符指针,字符个数n,终止标志字符);//终止字符可以不写,默认为'\n'
可跳过终止符号。
即每次读取一整行并把由Enter键生成的换行符抛弃
返回值:此处还待研究,求大神指导。
3.getline()-----------用于 string 字符串的。
getline() // 接受一个字符串,可以接收空格并输出,需包含“#include<string>”
#include<iostream>
#include<string>
using namespace std;
int main(){
string a;
getline(cin,a);
cout<<a<<endl;
return ;
}
上面代码,如果输入a b c,需要按两次回车键才能显示a b c(在VC6中),因为getline有三个参数, 第三个参数是字符串的结束符,也就是当getline遇到这个结束符时,就不在接受输入了,比如写成getline(cin,st,'s'); 即使输入的是abcsabc 那么也只会显示 abc ,因此对于上面出现的情况,有人说getline默认情况下以回车('\n')作为结束符,第一次按回车表示字符串结束,第二次按回车才开始输出。
4.gets() ////-----跟 cin.getline()类似,不提取 回车
gets() // 接受一个字符串,可以接收 空格 并输出,需包含“#include<stdio.h>”
返回值:gets(str) 在读取成功的时候返回str,str保存的是成功读入的内容
在失败的时候返回NULL,str的内容保持不变
#include<iostream>
#include<stdio.h>
using namespace std;
int main(){
char a[];
gets(a); //不能写成a=gets();
cout<<a<<endl;
return ;
}
输入:abc
输出:abc
输入:a b c
输出:a b c
类似cin.getline()里面的一个例子,gets()同样可以用在多维数组里面:
#include<iostream>
#include<stdio.h>
using namespace std;
int main (){
char a[][];
for(int i=; i<; i++)
gets(a[i]);
cout<<"--------"<<endl;
for(int j=; j<; j++)
cout<<a[j]<<endl;
return ;
}
输入:
a b 1
a b 2
a b 3
输出:
a b 1
a b 2
a b 3
感觉gets()和cin.getline()的用法很类似,只不过cin.getline()多一个参数罢了;
5.getchar()
getchar() //接受一个字符,需包含“#include<stdio.h>”
#include<iostream>
#include<stdio.h>
using namespace std;
int main (){
char a;
a=getchar(); // getchar( a )--------写法错误
cout<<a<<endl;
return ;
}
输入:abc
输出:a
cin.get(),cin.getline(),getline(),gets(),getchar()的更多相关文章
- c++中 cin、cin.get()、cin.getline()、cin.getchar()的区别
①cin>>:无法接收空格.Tap键且以空格.Tap键.回车符为分隔符: ②cin.get( ):可以接收空格.Tap键且以回车符为结束符: 一:可输入单个字符 格式: char ch; ...
- C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法----细节决定成败 (sort用法)
C++中cin.cin.get().cin.getline().getline().gets()等函数的用法 学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有 ...
- C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行) 1.cin 2.cin.get ...
- C++中几种输入输出cin、cin.getline()、getline()、sscanf()、sprintf()、gets()等
1.cin和cout cout是输出流对象的名字,cin是输入流对象的名字 ,“<<”是流插入运算符(也可称流插入操作符〉,作用是将需要输出的内容插入到输出流中,默认的输出设备是显示器. ...
- [C++ Primer Plus] 零散知识点(一)、输入函数(cin,cin.get,cin.getline等)+string头文件辨析
本文几乎照搬http://www.cnblogs.com/luolizhi/p/5746775.html博客,只修改了一点点.不知道怎么转发过来,尴尬... 学C++的时候,这几个输入函数弄的有点迷糊 ...
- C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法(转)
学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行) 1.cin 2.cin.get ...
- C++中cin.get(),cin.getline(),cin>>,gets(),cin.clear()使用总结
1.cin.get() 实质:类istream所定义对象cin的重载成员函数 用于读取单字符 istream& get(char&) int get(void) 用于读取字符 ...
- STL中流相关的输入输出符和get函数彻底总结:cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
我的总结: [首先:对于流来说,就把流看成一个中转的仓库,对流进行<<运算或>>运算或者get函数的运算都是指,把“流”中的数据“运送”到“内存变量”中去,还是把内存变量中的数 ...
- [转]C++中cin、cin.get()、cin.getline()、getline()函数的简单总结
参考原文:http://www.cnblogs.com/flatfoosie/archive/2010/12/22/1914055.html,另外做了一些修改~ 1.cin 2.cin.get() 3 ...
- cin,get,getline
一.cin 1.cin使用空白(空格.制表符和换行符)来确定字符串结束的位置,并且对于换行符,cin会把换行符留在输入队列.cin读取字符串放到数组中,并自动在结尾添加空字符. 例如: ]; cin& ...
随机推荐
- MSP430G2553电子时钟实验
用msp430g2553控制1602液晶显示时间,并能够通过按键设置时间.我做了正计时和倒计时两种模式 /*********************************************** ...
- 【Selenium + Python】之OSError: [WinError 6] 句柄无效。
问题描述:执行多个用例的时候,会抛出异常: Traceback (most recent call last): File "F:\Demo\pomGisStu\gis\test_case\ ...
- sublime text 配置golang开发环境
一.准备工作: 1.下载Go语言包: https://code.google.com/p/go/downloads/list 2.下载Git: https://code.google.com/p/ms ...
- JavaWeb知识点总结一
JavaWeb知识点总结一 常见的状态码以及其含义 一些常见HTTP状态码为: -- 服务器成功返回网页 -- 服务器不理解请求的语法 -- 请求的网页不存在 -- 服务不可用 常见HTTP状态码大全 ...
- phalcon builder get raw sql
$this->modelsManager->createBuilder()->from('table')->where('a = "a"')->lim ...
- Linux mail发送邮件
发送前一天的监控日志#!/bin/bash source /etc/profile time=`date -d '-1 day' "+%Y%m%d"` #判断服务是否已经启动 se ...
- 初识Modbus TCP/IP-------------C#编写Modbus TCP客户端程序(二)
由于感觉上一次写的篇幅过长,所以新开一贴,继续介绍Modbus TCP/IP的初步认识, 书接上回 3).03(0x03)功能码--------读保持寄存器 请求与响应格式 这是一个请求读寄存器108 ...
- IOS超强表格控件GMGridView
本文转载至 http://zyc-to.blog.163.com/blog/static/1715240020124235837247/ 介绍: iOS为我们提供UITableView类,实现了项目的 ...
- 求最小正整数x,A^x=1(mod M)求阶模板
整数的阶:设a和n是互素的正整数,使得a^x=1(mod n)成立的最小的正整数x称为a模n的阶 //求阶模板:A^x=1(mod M),调用GetJie(A,M) //输入:10^10>A,M ...
- Linux下安装 activemq 并指定jdk 1.8
1. 下载安装包 <apache-activemq-5.15.4-bin.tar.gz> 下载地址:https://pan.baidu.com/s/18xzjBAchjWqsHNA1HuY ...