cin/cin.get()/cin.getline()/getline()/gets()/getchar()用法

1.cin>>

1)最常见的是获取输入的一个字符或数字,如

int a,b;

cin>>a>>b;

注意:cin>>会自动过滤掉不可见字符(如空格 回车 tab等)。若不想过滤掉空白字符,可以用noskipws流进行控制。

2)获取输入的字符串,可以用数组或string类型。如

char a[20];

cin>>a;

cout<<a<<endl;

或者string类型:

string s;

cin>>s;

cout<<s<<endl;

注意:遇到空格、回车等会结束获取输入的字符串,后面的字符串会过滤掉(存放在输入流中)。如果后面还需要输入字符串,则会从前面存放的字符串开始获取。

2.cin.get()

1)cin.get(字符变量名),用来接收字符,只获取一个字符,可以接收空格,遇回车结束。
2)cin.get(数组名,接收字符数目),用来接收字符串,可以接收空格,遇回车结束。

注意:数组的最后一个字符会是‘\0’,设接收字符数目为n,如果输入的字符串大于等于n,则实际接收到的输入是字符串的前面n-1个字符,包括空格(不包括回车,遇到回车就结束了),会自动在后面增加一个‘\0’。

3)cin.get(),没有参数,主要用于舍弃输入流中不需要的字符,或者舍弃回车,即舍弃输入流中的一个字符。

没有用cin.get(),则后面的s会从输入流中继续读入

3.cin.getline()

此函数会一次读取多个字符(包括空白字符)。它以指定的地址为存放第一个读取的字符的位置,依次向后存放读取的字符,直到读满N-1个,或者遇到指定的结束符为止。若不指定结束符,则默认结束符为’\n’。其语法为:
cin.getline(字符指针(char*),字符个数N(int),结束符(char));

4.getline()

getline()的原型:
头文件:#include <string>

istream& getline (istream &is, string &str, char delim);

其中, istream &is 表示一个输入流,譬如cin;

string &str表示把从输入流读入的字符串存放在这个字符串中(可以自己随便命名,str什么的都可以);

char delim表示遇到这个字符停止读入,在不设置的情况下系统默认该字符为’\n’,也就是回车换行符(遇到回车停止读入)。

5.gets()

gets用来输入一行字符串。可以接收空格,识别换行符\n作为输入结束。
因此,scanf一个整数后,如果要使用gets,需要先用getchar接受整数后的换行符。

6.getchar()

m=getchar(),用来输入和输出单个字符,可以吸收空格和换行符。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值