C++輸入帶空格的字串
阿新 • • 發佈:2019-02-19
某次刷題的時候,要求輸入一個字串(含空格),然後對其進行操作,後來發現用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;
}