C++中的string用法详细讲解
时间: 2023-09-13 13:07:05 浏览: 200
c++string用法详解
C++中的string是一种用于处理字符串的数据类型,它是C语言中的char字符类型的延伸。string提供了许多函数来方便地进行字符串操作,并且它的空间大小是动态变化的,可以减小不必要的空间浪费。下面我将详细讲解一些常用的string用法。
1. 输入字符串:可以使用cin来输入字符串,遇到空格会停止输入。例如:
```cpp
#include <iostream>
using namespace std;
int main() {
string s1, s2;
cin >> s1 >> s2;
cout << "字符串s1为:" << s1 << endl;
cout << "字符串s2为:" << s2 << endl;
return 0;
}
```
这段代码中,通过cin输入两个字符串s1和s2,并输出它们的值。
2. 删除最后一个字符:可以使用pop_back函数来删除string中的最后一个字符。例如:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string s("hello world");
s.pop_back();
cout << s << endl;
return 0;
}
```
这段代码中,我们定义了一个字符串s,并使用pop_back函数删除了最后一个字符,然后输出结果。
3. 分割字符串:可以使用strtok函数来将一个字符串分割成多个子字符串。例如:
```cpp
#include <iostream>
#include <string>
#include <string.h>
using namespace std;
int main() {
string str("Please split this sentence into tokens");
char* cstr = new char\[str.length() + 1\];
strcpy(cstr, str.data());
char* p = strtok(cstr, " ");
while (p != 0) {
cout << p << endl;
p = strtok(NULL, " ");
}
delete\[\] cstr;
return 0;
}
```
这段代码中,我们将字符串str转换为C风格的字符串cstr,并使用strtok函数将其分割成多个子字符串,然后逐个输出。
这些是C++中string的一些常用用法,希望对你有帮助。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* [C++中string的用法](https://blog.csdn.net/H1727548/article/details/130840342)[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^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [C++关于string的详细讲解](https://blog.csdn.net/qq_36019007/article/details/128494099)[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^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [【玩转c++】c++ :string类讲解(万字详解)](https://blog.csdn.net/zxf123567/article/details/128261190)[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^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文