Skip to content
On this page

CPP_字符串


标签:CPP/基础  

初始化

cpp
// 定义一个字符串变量并初始化,实际上也是 = 操作符的重载
string s1 = "hello world";
// 定义一个字符串,使用另一个字符串进行初始化
string s2 = s1;
string s5 = s1 + " " + s2; // CPP 中 + 运算符被重载为连接
// 定义一个字符串变量,使用另一个字符串变量初始化
string s3(s2);

string & char *

  • string 无法使用 <cstring> 中的 strcpy() 等的函数,因为 C 语言中字符串的类型是 char *,而 CPP 中已经是一个类的对象了,还包含其他元素。

转换:

  • 操作符:string s1 = (char *)s,相当于s1.operator=(s),只能从 C 转换到 CPP,反之不行;
  • s1.c_str():返回 s1 对象中字符串内容的起始指针,相当于其中的 C 字符串
  • s1.data():返回内容的指针,效果与上面一个函数相当

常用函数

  • string 实现了很多操作符的重载 ===><[]这些可以直接使用
  • at(size_type n) 返回下标字符,会进行边界检查,[] 不会,例如s1.at(10) = 'H'
  • size_type size() 返回字符串长度,不包含\0,类似 C 的 strlen
  • bool empty() 字符串是否为空,返回布尔值
  • void clear() 清空字符串
  • 更多:std::basic_string

Last updated: