数据结构学习笔记001-String类(C++)

string类包含于头文件string中,使用string类型前需要添加头文件string并使用名为std的名称空间。

#include<string>
using namespace std;

string类型隐藏了字符串的数组性质。

  • 可以使用c风格字符串初始化string对象。
  • 可以使用cin从键盘输入到string对象中。
  • 可以使用cout来显示string对象。
  • 可以使用数组表示法来访问string对象中的字符。
string a = "First";
string b;
cin >> b;
cout << a;
cout << a[2];

 关于string类型的初始化。

string在未被初始化时长度为0,且其会根据输入的字符串长度自行调整长度。

string First = {"The Break Bowl"};
string Second {"Hank's Fine Eats"};

string类型提供了拼接,赋值,附加,比较等操作。

string a = "go";
string b = "od";
string c = "good";
string d;
a == b;
d = c;
d = a + b;
a += b;

值得一提的是,C中同样提供了附加和复制操作的函数,其存放在头文件cstring中。

其中包含了复制字符串的函数strcpy(数组名a,数组名b)意味着将b复制到a,附加函数strcat(数组a,数组b)意味着将b附加在a末尾。

#include<string>
#include<cstring>
char a[] = {"go"};
char b[] = {"od"};
char c[2];
strcpy(c, strcat(a,b));

关于string类的函数。

  • =, s.assign() // 赋以新值
  • swap() // 交换两个字符串的内容
  • +=, s.append(), s.push_back() // 在尾部添加字符
  • s.insert() // 插入字符
  • s.erase() // 删除字符
  • s.clear() // 删除全部字符
  • s.replace() // 替换字符
  • + // 串联字符串
  • ==,!=,<,<=,>,>=,compare() // 比较字符串
  • size(),length() // 返回字符数量
  • max_size() // 返回字符的可能最大个数
  • s.empty() // 判断字符串是否为空
  • s.capacity() // 返回重新分配之前的字符容量
  • reserve() // 保留一定量内存以容纳一定数量的字符
  • [ ], at() // 存取单一字符
  • >>,getline() // 从stream读取某值
  • << // 将值写入stream
  • copy() // 将值赋值为一个C_string
  • c_str() // 返回一个指向正规C字符串(C_string)的指针 内容与本string串相同 有’\0’
  • data() // 将内容以字符数组形式返回 无’\0’
  • s.substr() // 返回某个子字符串
  • begin() end() // 提供类似STL的迭代器支持
  • rbegin() rend() // 逆向迭代器
  • get_allocator() // 返回配置器
  • .......
上一篇:Arduino SimpleFOC库_笔记_001


下一篇:grafana系列(001)------ grafana安装及简单使用 TODO