string类的strtok函数
时间: 2024-05-31 08:06:25 浏览: 102
string类中并没有strtok函数,strtok是C语言中的字符串处理函数,用于分割一个字符串。可以通过以下两种方式在C++中使用strtok函数:
1.将string类型的字符串转换为char*类型,然后再使用strtok函数进行分割。示例代码如下:
```
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
string s = "hello,world";
char* cstr = new char[s.length() + 1];
strcpy(cstr, s.c_str());
char* p = strtok(cstr, ",");
while(p != nullptr)
{
cout << p << endl;
p = strtok(nullptr, ",");
}
delete[] cstr;
return 0;
}
```
2.使用C++11中新增的字符串分割函数std::regex_token_iterator。示例代码如下:
```
#include <iostream>
#include <regex>
#include <string>
using namespace std;
int main()
{
string s = "hello,world";
regex re(",");
sregex_token_iterator it(s.begin(), s.end(), re, -1);
sregex_token_iterator end;
while(it != end)
{
cout << *it++ << endl;
}
return 0;
}
```
阅读全文