将字符串中内容按照空格拆分,将拆分之后的结果存储在指针数组中,子函数实现
时间: 2024-04-14 22:32:01 浏览: 11
你可以使用C语言的strtok函数来实现字符串的拆分,并将拆分后的结果存储在指针数组中。下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void splitString(char* str, char** result, int* count) {
char* token = strtok(str, " "); // 使用空格作为分隔符
*count = 0;
while (token != NULL) {
result[*count] = token;
(*count)++;
token = strtok(NULL, " "); // 继续分割剩余部分
}
}
int main() {
char str[] = "Hello World! This is a test.";
char* result[10]; // 假设最多有10个单词
int count;
splitString(str, result, &count);
printf("Split result:\n");
for (int i = 0; i < count; i++) {
printf("%s\n", result[i]);
}
return 0;
}
```
在上面的示例中,`splitString`函数接受一个字符串`str`、一个指向指针数组`result`的指针和一个整数指针`count`。函数使用`strtok`函数将字符串按照空格拆分,并将拆分后的结果存储在`result`数组中,同时更新`count`的值表示拆分后的单词数量。
在`main`函数中,我们定义了一个字符串`str`和一个指针数组`result`,并调用`splitString`函数将拆分后的结果存储在`result`数组中。最后,我们使用循环打印出拆分后的结果。
运行上述代码,输出将是:
```
Split result:
Hello
World!
This
is
a
test.
```
希望这可以帮助到你!