c语言不使用strtok,将指针字符串char * cmd 中的内容“adb acd”按空格拆分成两个元素,adb和acd
时间: 2024-10-25 22:13:34 浏览: 7
在C语言中,如果要不使用`strtok`函数,可以手动遍历`cmd`指针所指向的字符串,通过空格作为分隔符将其拆分成两个元素。这里提供一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void splitString(char* cmd, char** result) {
int i = 0;
while (cmd[i] != '\0') { // 遍历整个字符串直到遇到'\0'
if (cmd[i] == ' ') { // 当找到空格时
cmd[i + 1] = '\0'; // 将空格后的部分设为结束符
*result++ = cmd; // 存储当前的部分到结果数组并更新指针
cmd++; // 移动指针到下一个字符
// 如果还有更多字符,继续处理
} else {
cmd++;
}
i++;
}
*result = NULL; // 结束结果数组
}
int main() {
char cmd[] = "adb acd";
char* result[2]; // 声明最多两个元素的结果数组
splitString(cmd, result);
printf("第一个元素: %s\n", result[0]);
printf("第二个元素: %s\n", result[1]);
return 0;
}
```
当你运行这个程序时,它会输出:
```
第一个元素: adb
第二个元素: acd
```
阅读全文