1. 程式人生 > >C++輸入帶空格的字串

C++輸入帶空格的字串

某次刷題的時候,要求輸入一個字串(含空格),然後對其進行操作,後來發現用cin輸入是有bug的。
在輸入的過程中,當遇到第一個空格,即輸入完畢或者是字串讀取完畢。

#include<iostream>
using namespace std;

int main()
{
    char s[10] = {0};
    cin>>s;
    cout<<s<<endl;
    return 0;
}

這裡寫圖片描述

後來就查了一下資料,整理了一下C++如何輸入帶空格的字串

方法一、用gets()函式

#include<iostream>
using namespace std; int main() { char s[10] = {0}; //cin>>s; /*方法一、gets()函式*/ gets(s); cout<<s<<endl; return 0; }

這裡寫圖片描述

方法二、cin.get()方法

#include<iostream>
#include<string>
using namespace std;

int main()
{
    char s[10] = {0};

    //cin>>s;

    /*方法一、gets()函式*/
//gets(s); /*方法二、cin.get()*/ cin.get(s,10); cout<<s<<endl; return 0; }

方法三、基於string 的getline()

#include<iostream>
#include<string>
using namespace std;

int main()
{
    //char s[10] = {0};

    //cin>>s;

    /*方法一、gets()函式*/
    //gets(s);

    /*方法二、cin.get()*/
//cin.get(s,10); //cout<<s<<endl; /*方法三、基於string的getline()*/ string ss = ""; getline(cin,ss); cout<<ss<<endl; return 0; }