c++的string函数
时间: 2023-08-19 08:16:07 浏览: 42
C++的string类提供了许多有用的函数来处理字符串。其中一些函数包括:
1. c_str():将string字符串转换为C风格的字符串,并返回该字符串的const指针(const char*)。这个函数可以将const string转换为const char*。例如:
```cpp
string s1("1234567");
const char* s2 = s1.c_str();
```
2. clear():删除字符串中的所有字符。可以使用erase()函数来删除指定位置的字符或一定范围内的字符。例如:
```cpp
string str = "123456789";
str.erase(3, 3); // 删除从位置3开始的3个字符
str.erase(str.begin() + 3); // 删除位置3的字符
str.erase(str.begin() + 3, str.begin() + 6); // 删除位置3到位置6之间的字符
```
3. 迭代器遍历:可以使用正向迭代器或反向迭代器来遍历字符串。例如:
```cpp
string s1("abcdef");
// 正向迭代器
string::iterator iter = s1.begin();
for (; iter < s1.end(); iter++) {
cout << *iter;
}
cout << endl;
// 反向迭代器
string::reverse_iterator riter = s1.rbegin();
for (; riter < s1.rend(); riter++) {
cout << *riter;
}
cout << endl;
```
4. 字符替换:可以使用replace()函数来替换字符串中的字符。例如:
```cpp
string s = "ABCDEFG";
s.replace(1, 3, "123"); // 将位置1开始的3个字符替换为"123"
```
5. 大小写转换:可以使用tolower(char)和toupper(char)函数将字符进行大小写转换。也可以使用transform()函数将整个字符串转换为大写或小写。例如:
```cpp
string s = "ABCDEFG";
for (int i = 0; i < s.size(); i++) {
s\[i\] = tolower(s\[i\]);
}
cout << s << endl; // "abcdefg"
transform(s.begin(), s.end(), s.begin(), ::toupper);
cout << s << endl; // "ABCDEFG"
```
6. 数值转换:可以使用stoi()、atoi()、to_string()和c_str()函数来进行字符串和数值之间的转换。例如:
```cpp
string s1 = "123";
int a = stoi(s1); // 将字符串转换为整数
int b = atoi(s1.c_str()); // 将C风格的字符串转换为整数
string str1 = to_string(a); // 将整数转换为字符串
const char* str2 = str1.c_str(); // 将字符串转换为C风格的字符串
```
这些函数是C++中string类的一部分,可以帮助我们更方便地处理字符串。
#### 引用[.reference_title]
- *1* *2* *3* [C++ string常用函数用法总结](https://blog.csdn.net/qq_61514490/article/details/126165076)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]