1。输入带空格的字符串
1.getline() (包含头文件#include)
这个方法处理的是 string 类型,不是字符型数组。
int main(){
string st;
getline(cin,st);
cout<<st<<endl;
return 0;
}
2. cin.get(charstr,int maxnum) / cin.getline(chara str,int maxnum)(包含头文件#include)
cin.get() / cin.getline() 这两个函数可接受空格,遇到回车结束输入
int main(){
char st[50];
cin.getline(st,50);
cout<<st<<endl;
cin.get(st,50);
cout<<st<<endl;
}
3.getchar()
1.从缓冲区读走一个字符,相当于清除缓冲区
2.前面的cin>>M;在读取输入时会在缓冲区中留下一个字符’\n’(输入完M的值后按回车键所致),所以如果不在此加一个
getchar()把这个回车符取走的话,getline(cin,st)就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,从而导致读取有误 .
4.c++ 字符串转数字
方法:(利用中的stoi()函数,其中还有对于其他类型的函数,如stod(),stof()等,根据类型选取)
(注意:是针对string类型施展的)
#include <iostream>
#include <string>
using namespace std;
int main()
{
int x;
string str;
cin >> str;
x = stoi(str);
cout << x;
return 0;
}