char数组的处理
C++给予了我们强大的重载符 cin >> 和 cout <<
但是还是会出现一些小问题
先来看这个问题
输入一个字符串
1.abc qwe
输出这个字符串
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main () {
const int ArSize = 20;
char name[ArSize];
cin >> name;
cout << name << endl;
return 0;
}
运行结果:
很显然 当遇到空格的时候 就出现问题了
因为cin会把空格和制表符、换行符作为结束位置
那么我们可以这样来写
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main () {
const int ArSize = 20;
char name[ArSize];
cin.getline(name, ArSize);
cout << name << endl;
return 0;
}
运行结果:
好了 这个OK
string的处理
string是一个非常好处理的类,那么cin在处理这个问题时 也会这样
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main () {
string str;
cin >> str;
cout << str << endl;
return 0;
}
运行结果:
改改
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main () {
string str;
getline(cin, str);
cout << str << endl;
return 0;
}
运行结果: