C++中如何实现split函数
时间: 2024-05-05 09:16:57 浏览: 58
在 C 语言中,可以通过以下方式实现 split 函数:
```c
#include <stdio.h>
#include <string.h>
void split(char str[], char delimiters[], char *result[], int *count) {
char *token;
token = strtok(str, delimiters);
while (token != NULL) {
result[*count] = token;
(*count)++;
token = strtok(NULL, delimiters);
}
}
int main() {
char str[] = "apple,banana,orange";
char delimiters[] = ",";
char *result[10];
int count = 0;
split(str, delimiters, result, &count);
for (int i = 0; i < count; i++) {
printf("%s\n", result[i]);
}
return 0;
}
```
在这个例子中,我们使用了 C 语言中的 strtok 函数来实现字符串的分割。strtok 函数会将字符串 str 按照 delimiters 中的分隔符进行分割,并返回分割后的第一个子字符串。每次调用 strtok 函数时,需要将 str 参数设置为 NULL,以便它能够继续从上一次分割结束的地方开始分割。
我们在 split 函数中使用了一个 while 循环来不断调用 strtok 函数,将分割后的子字符串存储到 result 数组中。同时,我们还通过 count 参数记录了分割后的子字符串个数。
在 main 函数中,我们调用 split 函数,并遍历 result 数组输出分割后的子字符串。