c\c++分割字符串
时间: 2023-09-07 15:02:26 浏览: 66
C/C++中的字符串可以使用分割符来分割成多个子字符串。常见的分割符包括空格、逗号、分号等。下面将介绍两种常用的分割字符串的方法。
1. 使用strtok函数:
strtok函数是C/C++中常用的字符串分割函数,它可以按照指定的分隔符将字符串分割成若干个子字符串。具体使用方法如下:
```c++
#include <iostream>
#include <cstring>
int main() {
char str[] = "C/C++ is a powerful programming language.";
const char *delim = " /";
char *token = strtok(str, delim);
while (token != nullptr) {
std::cout << token << std::endl;
token = strtok(nullptr, delim);
}
return 0;
}
```
上述代码中,我们首先定义了一个字符串str,然后定义了分割符delim。然后使用strtok函数将字符串str按照分隔符delim进行分割,每次返回的token即为一个子字符串。通过循环遍历直到token为nullptr时,即可将字符串分割为多个子字符串。
2. 使用stringstream类:
C++中的stringstream类可以将字符串当做输入流进行处理,利用其特性可以方便地进行字符串分割。具体使用方法如下:
```c++
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::string str = "C/C++ is a powerful programming language.";
std::string token;
std::istringstream iss(str);
while (std::getline(iss, token, ' ')) {
std::cout << token << std::endl;
}
return 0;
}
```
上述代码中,我们首先定义了一个字符串str,然后使用istringstream类将其初始化为输入流。然后使用std::getline函数按空格作为分隔符从输入流中逐行读取子字符串,并将其输出。
以上就是使用C/C++进行字符串分割的两种常见方法。