读写string对象
1.用cin输入流对象:
string对象会自动忽略开头空白,从第一个真正的字符开始读取,直到遇到下一个空白位置
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
cin >> s; //输入“ Hello World ”
cout << s << endl; //输出“Hello”
return 0;
}
2.使用getline读取一整行:
0.有两个参数:一个是输入流,一个是string对象
1.可以保留输入时的空白符
2.从给定的输入流读内容,直到遇到换行符为止(换行符也被读进来了)
3.将所读内容传入string对象中(注意不存换行符)
#include<iostream>
#include<string>
using namespace std;
int main(){
string line;
while(getline(cin,line)) //每次读入一行
cout << line << endl;
return 0;
}
3.string::size_type类型:
size函数返回的是一个size_type类型,是string对象的内置类型
如果我们使用int或者unsigned去运算,可能会产生错误
一般使用auto或者decltype来接受size函数返回值
字面值和string对象相加
**必须保证加法运算符(+)的两侧的运算对象至少有一个是string**
string s4 = s1 + ","; //正确
string s7 = "hello"+","; //错误