输入字符串,比如“hello nice to meet you“以空格为界裁剪字符串,裁剪后输出,装进指针数组中
时间: 2024-04-11 22:29:03 浏览: 125
好的,下面是用C语言实现的函数,可以将字符串按照空格拆分,并将拆分结果存储在指针数组中:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void splitString(const char* str, char*** result, int* count) {
const char* delimiter = " ";
char* token;
int i = 0;
// 使用strdup复制一份原始字符串,因为strtok会修改原始字符串
char* copy = strdup(str);
// 使用strtok按照空格拆分字符串
token = strtok(copy, delimiter);
while (token != NULL) {
*result = realloc(*result, (i + 1) * sizeof(char*));
(*result)[i] = strdup(token);
i++;
token = strtok(NULL, delimiter);
}
*count = i;
// 释放copy的内存
free(copy);
}
int main() {
const char* str = "hello nice to meet you";
char** result = NULL;
int count = 0;
splitString(str, &result, &count);
// 输出拆分结果
for (int i = 0; i < count; i++) {
printf("%s\n", result[i]);
free(result[i]);
}
// 释放result的内存
free(result);
return 0;
}
```
运行上述代码,输出结果为:
```
hello
nice
to
meet
you
```
希望对你有所帮助!如有其他问题,请随时提问。
阅读全文