需要一个C语言函数,它的功能是将一个整形数组由数组中的若干空格分割为若干字符串,并返回地址,不能丢失第一个空格之前的字符串
时间: 2023-06-02 15:02:11 浏览: 68
c语言中字符串分割函数及实现方法
以下是一个实现该功能的C语言函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char** splitArray(char* str, int* count) {
char** result = NULL;
char* token = strtok(str, " ");
int size = 0;
while (token != NULL) {
result = realloc(result, sizeof(char*) * (size + 1));
result[size++] = token;
token = strtok(NULL, " ");
}
*count = size;
return result;
}
int main() {
char str[] = "This is a test string";
int count = 0;
char** arr = splitArray(str, &count);
for (int i = 0; i < count; i++) {
printf("%s\n", arr[i]);
}
return 0;
}
```
这个函数接受一个整形数组作为输入,使用strtok函数将数组中的若干空格分割为若干字符串,并将这些字符串存储在一个char指针数组中。该函数也返回这个指针数组的地址,并将字符串数量存储在一个指针参数中。
在上面的示例中,我们将字符串"This is a test string"传递给splitArray函数,并将返回的指针数组打印到控制台上。输出应该如下:
```
This
is
a
test
string
```
阅读全文