本文主要是介绍数据结构学习笔记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() // 返回配置器
- .......
这篇关于数据结构学习笔记001-String类(C++)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!