C++笔记(基础)string基础
string(基础)
定义string(string是一个类,是一个并非基本数据类型的复合数据类型)
1.string str;
2.string str = "balabala";
3.string str2(str1);//把str1的内容赋值到str2中
4.string str(arr,5)//从数组的开头取5个元素初始化
获取长度:用 length() 或 size() 成员函数获取字符串长度,
如 int len = str.length(); length() 和 size() 功能相同。(不计算最后的\n长度)
拼接:可通过 + 运算符和 += 运算符拼接字符串,
string str1 = "Hello"; string str2 = " World";
string result = str1 + str2; str1 += str2; 也能实现拼接。
访问字符:可通过[] 运算符或 at() 成员函数访问字符串中特定位置字符,
char c = str[0]; char c2 = str.at(1);
[] 不检查越界, at() 会检查,越界时 at() 会抛出 out_of_range 异常。
子串提取:使用 substr() 成员函数提取子串,
std::string sub = str.substr(1, 3); 表示从索引 1 开始提取长度为 3 的子串。
查找字符或子串: find() 成员函数用于查找字符或子串位置。
size_t pos = str.find("ll"); ,返回找到的位置,没找到返回 std::string::npos 。
比较:用 compare() 成员函数比较两个字符串,
int cmp = str1.compare(str2);
返回 0 表示相等,小于 0 表示 str1 小于 str2 ,大于 0 表示 str1 大于 str2 。
也可用关系运算符( == 、 != 、 < 等)比较。
string str;
str="yzy"
sizeof(str)时不会输出出来字符串的长度,
输出的是string对象本身的大小(管理字符串内部结构等所占字节数),一般是24;
如果想输出字符串大小,要用str.size()/str.length()