c++ 标准库 string 类型
string 类型支持长度可变的字符串,C++ 标准库将负责管理与存储字符相
关的内存,以及提供各种有用的操作。标准库 string 类型的目的就是满足对字
符串的一般应用。
与其他的标准库类型一样,用户程序要使用 string 类型对象,必须包含相关头
文件。如果提供了合适的 using 声明,那么编写出来的程序将会变得简短些:
#include
using std::string;
string 初始化
(1) string s1; //构造一个空字符串
(2)string s2(s1); //将S2初始化为s1的一个副本
(3)string s3(“hello world”); //
(4)string s4(n, ‘c’); //将s4初始化为 n个c的字符串
geline()
这个函数接受两个参数:
一个输入流对象和一个 string 对象。
eg:
int main()
{
string line;
// read line at time until end-of-file
while (getline(cin, line))
cout << line << endl;
return 0;
}
string 对象的操作
s.empty() //是否空字符串
s.size() //字符串字符个数
s[n] //访问字符串特定位置的字符
s1 + s2 //字符串连接
s1 = s2 //字符串赋值
s1 == s2 //字符串比较
!=, <, <=, >=, >
string 的比较
如果两个 string 对象长度不同,且短的 string 对象与长的 string 对
象的前面部分相匹配,则短的 string 对象小于长的 string 对象。
如果 string 对象的字符不同,则比较第一个不匹配的字符。
eg:
string s1 = “hello”;
string s2 = “hello world”;
string s3 = “hi”;
那么, s1 < s2, s2 < s3
两个 string 相加
注意下面的写法是错误的,右边的表达式中必须包含string类型的变量。
string s4 = “hello” + “world”; // 错误
从字符串中获取字符
通过下标操作符[ ]来访问string中的单个字符。
eg:
string s1 = “helo”;
cout << s1[0] << endl; //输出首个字符