我需要一个C语言函数,它的功能是由一个字符串中的若干空格将这个字符串分割为若干子串,并返回子串
时间: 2023-05-30 11:06:55 浏览: 169
的数量以及每个子串的指针。
以下是一个示例函数,它接受一个字符串和一个指向指针数组的指针,将字符串分割为子串,并将每个子串的指针存储在指针数组中。函数返回子串的数量。
```c
#include <stdio.h>
#include <string.h>
int split_string(char* str, char** substrings) {
int count = 0;
char* tok = strtok(str, " ");
while (tok != NULL) {
substrings[count++] = tok;
tok = strtok(NULL, " ");
}
return count;
}
int main() {
char str[] = "Hello world, how are you today?";
char* substrings[10];
int count = split_string(str, substrings);
printf("Number of substrings: %d\n", count);
for (int i = 0; i < count; i++) {
printf("Substring %d: %s\n", i, substrings[i]);
}
return 0;
}
```
输出:
```
Number of substrings: 7
Substring 0: Hello
Substring 1: world,
Substring 2: how
Substring 3: are
Substring 4: you
Substring 5: today?
Substring 6:
```
阅读全文