参考: https://blog.youkuaiyun.com/u011486738/article/details/82082405
这篇说的挺详细的,但是方法太多就乱了。
自己再整理一下,找一套自己的套路
首先说一下 流,cin , 当我们在黑框(不知道叫啥名)里输入很长字符串的时候,这么长的串就是 流(在遇到回车之前都是一条流)
#include<bits/stdc++.h>
using namespace std;
int main()
{
// 单字符的处理方法
char a;
cin>>a;
cout<<a<<endl;
//字符数组
char b[100];
cin>>b;
cout<<b<<endl; // 遇到空格就停下
//遇到空格不停的,但是遇到回车一定停,
//回车是流的终点
cin.get(b,100);
cout<<b<<endl;
cin.getline(b,100,'a'); // 遇到‘a’特定字符 就停下
cout<<b<<endl;
//字符串
string s;
cin>>s; // 遇到空格就停下
cout<<s<<endl;
//可以有空格
getline(cin,s);
cout<<s<<endl;
//规定长度的
cin.get(b,100);
cout<<b<<endl;
cin.getline(b,100,'a'); // 遇到‘a’特定字符 就停下
cout<<b<<endl;
//一行
gets(b);
cout<<b<<endl; // 可以有空格了
/* 个人最喜欢的 包含空格的方法 */
string a;
getline(cin,a); // PTA 上不知道怎么了,不能用gets 所以再找一个方法
cout<<a<<endl;
char b[100];
gets(b);
cout<<b<<endl;
/* 个人最喜欢的 输入一个单词的方法*/
char b[100];
cin>>b;
cout<<b<<endl;
string s;
cin>>s; // 遇到空格就停下
cout<<s<<endl;
return 0;
}