c++字符串分割strtok
时间: 2024-03-17 15:38:27 浏览: 105
c语言字符串分割函数strtok
C++中的字符串分割可以使用strtok函数来实现。strtok函数是C标准库中的函数,用于将字符串按照指定的分隔符进行分割。
使用strtok函数需要包含头文件<cstring>。其函数原型如下:
```cpp
char* strtok(char* str, const char* delimiters);
```
其中,str是要分割的字符串,delimiters是分隔符字符串。该函数会返回分割后的子字符串,并且在后续调用时会自动维护一个静态指针,指向下一个子字符串的起始位置。
下面是一个示例代码,演示了如何使用strtok函数进行字符串分割:
```cpp
#include <iostream>
#include <cstring>
int main() {
char str[] = "C++ is a powerful programming language";
const char delimiters[] = " ";
char* token = strtok(str, delimiters);
while (token != nullptr) {
std::cout << token << std::endl;
token = strtok(nullptr, delimiters);
}
return 0;
}
```
运行以上代码,输出结果为:
```
C++
is
a
powerful
programming
language
```
需要注意的是,strtok函数会修改原始字符串,将分隔符替换为'\0',因此在使用strtok函数后,原始字符串可能会被破坏。如果需要保留原始字符串,可以先创建一个副本进行操作。
阅读全文