如何使用二级指针保存从strtok中截取得字符串
时间: 2023-08-14 19:06:04 浏览: 85
使用strtok函数截取字符串得到相应的子串存入数组中
4星 · 用户满意度95%
在使用 `strtok` 函数截取字符串时,我们可以使用二级指针来保存每个被截取出来的子串。具体的方法如下:
1. 定义一个 char 类型的二级指针变量,用于保存截取出来的子串;
```
char **substrings;
```
2. 使用 `malloc` 函数为二级指针分配内存,分配的大小为截取出来的子串的个数;
```
substrings = (char **)malloc(sizeof(char *) * substrings_count);
```
3. 在截取字符串的循环中,将每个被截取出来的子串保存到二级指针中,可以使用 `strcpy` 函数将子串复制到二级指针指向的内存地址中;
```
int i = 0;
char *token = strtok(str, delimiter);
while (token != NULL) {
substrings[i] = (char *)malloc(sizeof(char) * (strlen(token) + 1));
strcpy(substrings[i], token);
token = strtok(NULL, delimiter);
i++;
}
```
4. 最后记得释放每个子串的内存和二级指针的内存;
```
for (int i = 0; i < substrings_count; i++) {
free(substrings[i]);
}
free(substrings);
```
阅读全文