C++字符串类的基本操作和特性
需积分: 0 35 浏览量
更新于2024-08-05
收藏 49KB PDF 举报
C++ String 输入输出(2)
C++ 中的 string 类是一种强大的字符串处理工具,提供了丰富的构造函数、字符操作、查找函数、替换函数等功能,本文将对 string 类的输入输出操作进行详细介绍。
**1. string 类的构造函数**
string 类提供了多种构造函数,包括:
* `string(const char* s);`:用 C 字符串 s 初始化 string 对象
* `string(int n, char c);`:用 n 个字符 c 初始化 string 对象
* 默认构造函数和复制构造函数:如 `string s1;` 和 `string s2 = "hello";` 都是正确的写法
需要注意的是,当构造的 string 太长而无法表达时,会抛出 `length_error` 异常。
**2. string 类的字符操作**
string 类提供了多种字符操作函数,包括:
* `const char& operator[](int n) const;`:返回当前字符串中第 n 个字符的位置
* `const char& at(int n) const;`:返回当前字符串中第 n 个字符的位置,提供范围检查,当越界时会抛出 `out_of_range` 异常
* `char& operator[](int n);`:返回当前字符串中第 n 个字符的位置,可以修改该字符
* `char& at(int n);`:返回当前字符串中第 n 个字符的位置,可以修改该字符,提供范围检查
* `const char* data() const;`:返回一个非 null 终止的 C 字符数组
* `const char* c_str() const;`:返回一个以 null 终止的 C 字符串
* `int copy(char* s, int n, int pos = 0) const;`:把当前串中以 pos 开始的 n 个字符拷贝到以 s 为起始位置的字符数组中,返回实际拷贝的数目
**3. string 类的特性描述**
string 类提供了多种特性描述函数,包括:
* `int capacity() const;`:返回当前容量(即 string 中不必增加内存即可存放的元素个数)
* `int max_size() const;`:返回 string 对象中可存放的最大字符串的长度
* `int size() const;`:返回当前字符串的大小
* `int length() const;`:返回当前字符串的长度
* `bool empty() const;`:当前字符串是否为空
* `void resize(int len, char c);`:把字符串当前大小置为 len,并用字符 c 填充不足的部分
**4. string 类的输入输出操作**
string 类重载运算符 `operator>>` 用于输入,同样重载运算符 `operator<<` 用于输出操作。例如:
```cpp
string s;
cin >> s; // 输入字符串
cout << s; // 输出字符串
```
另外,C++ 还提供了 `getline` 函数用于从输入流中读取字符串,以换行符 `\n` 分开:
```cpp
string s;
getline(cin, s); // 读取字符串
```
**5. string 类的赋值**
string 类提供了多种赋值函数,包括:
* `string& operator=(const string& s);`:把字符串 s 赋给当前字符串
例如:
```cpp
string s1, s2;
s1 = s2; // 把字符串 s2 赋给 s1
```
C++ 的 string 类提供了丰富的功能和操作,能够满足各种字符串处理需求。
809 浏览量
901 浏览量
127 浏览量
2023-12-08 上传
283 浏览量
225 浏览量
221 浏览量
点击了解资源详情
283 浏览量
love彤彤
- 粉丝: 853
- 资源: 310
最新资源
- Glenn Baddeley - GPS - NMEA sentence information
- Build your own web site the right way using HTML and CSS.pdf
- C++Builder6编程实例精解
- 单片机基础知识一定要学
- linux诞生和发展的5个支柱
- Snort 数据包捕获性能的分析与改进
- 高质量c++编程 林锐著
- Cognos性能调优
- ov7725 CMOS摄像头模组资料
- 跟我一起写Makefile
- 测试计划(GB8567——88)
- 图书馆管理系统 资源下载
- SAP应用及ABAP开发最佳实践—基于ABAP Workbench创建并发布Web Service.pdf
- MySQL5.0触发器
- SAP应用及ABAP开发最佳实践—Internal Table.pdf
- JAVA语言版数据结构与算法(中文)