1.定义和初始化string对象。
string s1 = "abcdefg"; //初始化方式1
string s2("abcdefg"); //初始化方式2
string s3 = s2; //通过拷贝构造函数 初始化s3
string s4(7,'s'); //初始化7个s的字符串
string不能定义指针,用迭代器。
2.string的相关操作。
os<<s 将s写入输出流os中,返回os
is>>s 将s写入输出流is中,返回is
getline(is,s) 从is中读取一行赋给s,返回is
s.empty() 是否为空
s.size() 返回s中字符个数
s[n] 返回s中第n个字符的引用
s1+s2 链接s1和s2
s1=s2 复制
s1==s2 判断相等(还有!=; <; >; >=; <=等)顺序比较。
3.字符串读写
1). string s;
cin>>s; //读入字符串给s,遇到空白停止。
2). string word;
while(cin>>word) //反复读取(word不断更新)直到文件末尾
cout<<word<<endl; //输出,换行
3). getline(cin,s1); //读取一整行到s1中
4.字符串可与字符串字面值相加
string s1=s+"s"; //但是+两必须有一个是string
5.处理string对象中的单个字符
1). 需要用到cctype头文件(这是属于C语言标准库文件,常以cname命名,从属于命名空间std),尽量不要用name.h。这个库里有识别空格、回车符的函数
2). 想对string中单个对象操作,使用for(range for)语句,遍历序列中的每个元素并操作。
例:string str=”some string";
for (auto c:str){ cout<<c<<endl; }; //输出单个字符并换行
for (auto &c:str){ toupper(c) }; //将str的小写转大写,引用改变。
3). 还可采用下标(索引)访问,例s[0]。