\0
表示字符串的结束。在 C 语言中,已存在部分字符串处理函数,例如 strcpy(),sprintf(),stoi() 等,只能用于单字节字符串。在标准库中,还有仅用于 Unicode 字符串的函数,如 wcscpy(),swprintf(),_wtol() 等。多数人都惯于使用指针
++
和 --
操作符来遍历字符串。使用数组处理字符串中的字符也非常方便。无论 ASCII 码字符串还是 Unicode 字符串,使用指针均能够正确无误地返回要寻求的字符位置。STL 中只有一个字符串类,即 basic_string。类 basic_string 实现管理以
\0
结尾的字符数组,字符类型由模板参数决定。通常,basic_string 被处理为不透明的对象,靠获得只读指针来访问缓冲区,写操作是由 basic_string 的成员函数实现的。STL 的 C++ 标准程序库中的 string 类,使用时不必担心内存是否充足、字符串长度等问题。
string 作为类出现,其集成的操作函数足以完成多数情况下的需要。可以使用 "=" 进行赋值,使用 "==" 进行等值比较,使用 "+" 做串联。
要使用 string 类,必须包含头文件 <string>。在 STL 库中,basic_string 有两个预定义类型:包含 char 的 string 类型和包含 wchar 的 wstring 类型。
string 类的 string::npos 可同时定义字符串的最大长度,通常设置为无符号 int 的最大值。string 类包含了 6 个构造函数。string 类支持 cin 方式和 getline() 方式两种输入方式。简单示例如下:
string stuff; cin >> stuff; getline(cin,stuff);上述三行代码,第一行是声明 string 类的对象 stuff,第二行是从屏幕读入输入的字符串,第三行同样实现第二行代码的功能。
string 库提供了许多其他功能,如删除字符串的部分或全部,用一个字符的部分或全部替换另一个字符串的部分或全部,插入、删除字符串中数据,比较、提取、复制、交换等。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。