zoukankan      html  css  js  c++  java
  • C++如何读取带空格字符串?这5种方法教会你

    关于C++读取带空格字符串的方法,你知道哪些呢?

    1. cin

    cin是C++中最常用的输入语句,当遇到空格或者回车键即停止

    如:

    #include <iostream>

    #include <string>

    using namespace std;

    int main()

    {

       chara[50];

       cin>>a;

       cout<<a<<endl;

       return0;

    }

    输入:abcd遇回车输出abcd

    缺点:只能输入没有空格的字符串,当输入中含有空格,则只能输出空格之前的字符

    输入:I love China输入空格时输入并未停止,遇回车输入停止,输出I,空格后面的均未输出。

    2. gets()

    可以无限读取,以回车结束读取,C语言中的函数,在C++中运行会产生bug。

    如:

    #include <iostream>

    #include <cstdio>

    using namespace std;

    int main()

    {

       chara[50];

       cin>>a;

       gets(a);

       cout<<a<<endl;

       return0;

    }

    输入:I love China回车结束输入,输出结果为love China。首字符自动丢弃。

    3. getline()

    若定义变量为string类型,则要考虑getline()函数。用法如下:

    #include <iostream>

    #include <string>

    using namespace std;

    int main()

    {

       stringa;

       getline(cin,a);

       cout<<a<<endl;

       return0;

    }

    输入:I love China回车并未结束输入,需回车两次才能结束输入,输出结果为:I love China.

    4.cin.get cin.getline

    cin.get()函数可以接收空格,遇回车结束输入。

    #include <iostream>

    using namespace std;

    int main()

    {

       chara[50];

       cin.get(a,50);

       cout<<a<<endl;

       return0;

    }

    输入:I love China回车结束输入,输出结果为I love China。

    5. cin.getline

    cin.getline()函数可以同cin.get()函数类似,也可接收空格,遇回车结束输入。

    #include <iostream>

    using namespace std;

    int main()

    {

       chara[50];

       cin.getline(a,50);

       cout<<a<<endl;

       return0;

    }

    输入:I love China回车结束输入,输出结果为I love China。

    以上这篇C++读取带空格字符串的方法就是小编分享给大家的全部内容了,希望对大家有所帮助。

    原文链接:https://blog.csdn.net/good_luck512233/article/details/52791005

    最后,特别推荐一个分享C/C++和算法的优质内容,学习交流,技术探讨,面试指导,简历修改...还有超多源码素材等学习资料,零基础的视频等着你!

    还没关注的小伙伴,可以长按关注一下:


     
  • 相关阅读:
    BestCoder17 1001.Chessboard(hdu 5100) 解题报告
    codeforces 485A.Factory 解题报告
    codeforces 485B Valuable Resources 解题报告
    BestCoder16 1002.Revenge of LIS II(hdu 5087) 解题报告
    codeforces 374A Inna and Pink Pony 解题报告
    codeforces 483B Friends and Presents 解题报告
    BestCoder15 1002.Instruction(hdu 5083) 解题报告
    codeforces 483C.Diverse Permutation 解题报告
    codeforces 483A. Counterexample 解题报告
    NSArray中地内存管理 理解
  • 原文地址:https://www.cnblogs.com/mu-ge/p/14545541.html
Copyright © 2011-2022 走看看