C++标准库提供了string类型,与C的字符串操作相比更加的简单易用。
构造函数:
(1)无惨构造:string()
(2)C 风格的字符串作为参数string(char*)
(3)以string 对象作为参数:string(string str1)
字符串的比较:
(1)compare(string str):
功能:比较两个字符串的字典序,从第一位开始依次向后比较,若出现不相同的字符,则结束比较
使用:字符串1.compare(字符串2),返回值为int ,0表示相等,正数表示大于(一般是1),负数表示小于(一般是-1)。
(2)==,!=
功能:比较两个字符串是否完全相等,返回值类型是布尔值
使用:if(str1==str2) .....
(3)<,>,<=,>=
功能:比较两个字符串的字典序,返回值是布尔值(与compare的区别)
使用:if(str1>=str2) .....
字符串的访问:
(1)“[]”:
str[index]:获取字符串str中下标为index的字符,返回值为char
(2)at(index)
str.at(index):获取字符串str中下标为index的字符,返回值为char
(3)substr(pos,count)
返回从pos位置开始的长度为count的子串
⚠️:[index]不会检查访问越界,可能导致未定义行为,at()在访问越界时会抛出‘std::out_of_range'异常
字符串的大小和长度:
(1)length():
功能:返回字符串的长度(size()函数的功能与之完全相同,目前没发现有差异)
(2)empty():
功能:判别字符串是否为null,返回值为布尔值
字符串的插入删除
(1)insert(position,str)
功能:在position位置插入字符串str
(2)erase(pos,count)
功能:删除从pos位置开始的长度为count的子串