cin输入空格_c++基本输入

使用scanf

//
// Created by sun7788 on 2020/4/17.
//

#include <cstdio>
#include <cstring>
int main(){
//    在c语言中有输入功能的有scanf getxx
//    使用scanf进行输入
//    输入数值
    int a_Integer;
    float a_FloatNum;
    double a_Double;
    scanf("%d%f%lf",&a_Integer,&a_FloatNum,&a_Double);
    printf("%d %f %lfn",a_Integer,a_FloatNum,a_Double);

//    输入字符型数组
//  strlen为string.h这个头文件中的一个函数 作用是得到一个字符型数组的长度
    char a[16];
    scanf("%s",a);
    printf("字符型数组为%s 长度为%dn",a,strlen(a));

    //带格式输入
    //获取固定几位数据
    int year,month,day;
    scanf("%4d%2d%2d",&year,&month,&day);
    printf("%d %d %dn",year,month,day);

    //使用固定字符隔离开
    scanf("%d-%2d-%2d",&year,&month,&day);
    printf("%d %d %dn",year,month,day);

/*
 * scanf()函数碰到空格会跳过 适合用来接收用空格来接收的成组的数据
 *
 * */
    return  0;
}

Output:

e343fa6f9d9a7f814427292a1c302050.png

使用cin

//
// Created by sun7788 on 2020/4/17.
//

#include <cstdio>
#include <iostream>

int main(){
/*
 * cin在输入的时候会跳过空格 换行 在性能上没scanf那么好
 * */
    int aInteger;
    std::cin>>aInteger;
    std::cout<<aInteger<<std::endl;

    float aFloat;
    std::cin>>aFloat;
    std::cout<<aFloat<<std::endl;

    double  aDouble;
    std::cin>>aDouble;
    std::cout<<aDouble<<std::endl;

    std::string aStr;
    std::cin>>aStr;
    std::cout<<aStr<<std::endl;
    return  0;
}

Output:

2b6f6719e06acc5e06954f2dda0f408d.png

使用getline

//
// Created by sun7788 on 2020/4/17.
//

#include <cstdio>
#include <iostream>

int main(){
    //由于getline会接收空格 可以使用getchar()函数接收空格

    char aString[66];
    std::cin.getline(aString,66);
    std::cout<<aString<<std::endl;

    std::string anotherString;
    std::getline(std::cin,anotherString);
    std::cout<<anotherString<<std::endl;

    return  0;
}

Output:

22ba9f30919536a07a8207fb02ef4a11.png

使用getchar()进行输入

使用getchar()跳过某些输入

#include <cstdio>

int main(){

    char a,b,c;
    a=getchar();
    getchar();
    b=getchar();
    c=getchar();
    printf("%c%c%cn",a,b,c);
    return  0;
}

Output:

156bd0ad4102f224ef5e21ce794371b6.png

由于getchar()能获取到空格 换行符等 例如

当输入数据如下时:

aqnb

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值