c++ 便利字符串
时间: 2025-05-11 22:17:50 浏览: 17
### C++ 中常用的字符串操作方法
在 C++ 编程语言中,`std::string` 是用于处理字符串的主要类。它提供了许多内置的方法来简化字符串的操作过程[^1]。以下是几个常见的字符串操作方法及其功能:
#### 字符串长度获取
可以使用 `size()` 或者 `length()` 方法来获得字符串的长度。这两个方法的功能完全相同。
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
std::cout << "Length of the string is: " << str.size() << std::endl;
}
```
上述代码展示了如何通过调用 `str.size()` 来得到字符串 `"Hello, world!"` 的长度。
#### 子字符串提取
利用 `substr(pos, len)` 可以从指定位置开始截取一定长度的子字符串。
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
std::string subStr = str.substr(7, 5); // 截取从索引7开始的5个字符
std::cout << "Substring is: " << subStr << std::endl;
}
```
这里演示了如何通过 `str.substr(7, 5)` 提取出 `"world"` 这一子字符串。
#### 查找与替换
查找特定子字符串的位置可以通过 `find(sub_str)` 实现;如果要执行替换,则可采用 `replace(start_pos, length_to_replace, new_sub_str)` 方法。
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
size_t pos = str.find("world"); // 找到 "world" 开始的位置
if (pos != std::string::npos) {
str.replace(pos, 5, "C++");
}
std::cout << "Modified String: " << str << std::endl;
}
```
此段程序说明了怎样先定位 `"world"` 并将其替换成 `"C++"`。
#### 转换为大写/小写字母
虽然标准库未直接提供大小写的转换函数,但是我们可以借助算法库中的 transform 和自定义谓词完成这一任务。
```cpp
#include <algorithm>
void to_upper(std::string &s){
std::transform(s.begin(), s.end(), s.begin(), ::toupper);
}
void to_lower(std::string &s){
std::transform(s.begin(), s.end(), s.begin(), ::tolower);
}
// 使用示例省略...
```
以上片段给出了两个辅助函数分别用来把整个字符串转成全大写或者全小写形式。
### 结论
综上所述,C++ 提供了一系列丰富的工具帮助开发者高效地管理字符串对象。这些基本技巧对于日常开发非常实用。
阅读全文
相关推荐


















