cin的输入方式

目录

cin常用的有三种方法:

cin:

cin.get():

cin.getline()


cin常用的有三种方法:

cin>>

cin.get()

cin.getline()


cin:

用法:可以连续从键盘读取想要的数据,以空格、tab或换行(回车也是换行)作为分隔符。

例1:空格做分隔符

#include<iostream>
using namespace std;

int main()
{
    int a, b, c;
    cin>>a>>b>>c;
    cout << a << b << c;
    return 0;
}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-L57qqWXVLaQ==,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-L57qqWXVLaQ==,size_20,color_FFFFFF,t_70,g_se,x_16例2:tab做分隔符

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-L57qqWXVLaQ==,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-L57qqWXVLaQ==,size_20,color_FFFFFF,t_70,g_se,x_16

例3: 换行做分隔符

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-L57qqWXVLaQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-L57qqWXVLaQ==,size_20,color_FFFFFF,t_70,g_se,x_16


cin.get():

用法:1、不会忽略分隔符,若用的回车当分隔符,则会在输出的时候把回车也打印出来,造成了                  不用endl也换行的情况;

           2、读取一个字符,返回值是int类型,是输入的字符的ASCII码值;

种类:无参,一参,二参,三参

无参:a=cin.get();用赋值的方式让变量被赋予缓冲区的内容

一参:cin.get(b);在括号里填要输入的变量名

二参:cin.get(arr,3);在括号里填要输入的变量数组名和要吸收的个数

        注意:第二个参数要填要吸收的个数+1,如要吸收三个字符,则应该写4;若写的3,则第三个位置将会被赋值为空

三参:cin.get(arr,3,'\n);在括号里填要输入的变量数组名和要吸收的个数和要结束的字符

        注意:跟二参一样要注意的内容

例4:无参和一参

#include<iostream>
using namespace std;

int main()
{
    char a, b;
    a = cin.get();//无参
    cin.get(b);
    cout << a << endl;
    cout << b << endl;
    return 0;
}

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-L57qqWXVLaQ==,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-L57qqWXVLaQ==,size_20,color_FFFFFF,t_70,g_se,x_16

输入了一个q,还未输出b变量的值,就结束了。

原因:a变量被赋予了输入的q,b变量吸收了回车键。

第一个q是输入的q,并赋予a,第二个q是先endl回车再打印出的a的值,第三个回车是打印的b的值,第四个回车是endl。

例5:二参

注意:第7行括号里的值是要赋给arr的个数-1,即要赋给3个位置,则要写4

#include<iostream>
using namespace std;

int main()
{
    char arr[20];
    cin.get(arr, 4);
    cout << arr << endl;
    return 0;
}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-L57qqWXVLaQ==,size_20,color_FFFFFF,t_70,g_se,x_16

第7行括号里写了4,  输入123456,吸收123。

三参的用法与二参差不多,只是多加了一个条件,当遇到什么字符时,结束赋值。

例6:三参

#include<iostream>
using namespace std;

int main()
{
    char arr[20];
    cin.get(arr, 4,'5');
    cout << arr << endl;
    return 0;
}

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-L57qqWXVLaQ==,size_20,color_FFFFFF,t_70,g_se,x_16

第7行括号里第三个参数写的是'5’,即遇到5时,结束赋值,所以赋了1


cin.getline()

大致与cin.get()一样,唯一的不同cin,getline()不会将结束符残留在缓冲区中。

详细的来说:cin.get()会将换行符留在缓冲区,下一个变量赋值时会被赋予换行符。而cin.getline()则不会发生这种事。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MegumiKato丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值