c语言不使用strtok将指针字符串char * cmd 中的内容“adb acd”按空格拆分,分别输出adb,第二个acd
时间: 2024-10-25 22:13:25 浏览: 36
C语言切割多层字符串(strtok_r strtok使用方法)
5星 · 资源好评率100%
在C语言中,如果你不使用`strtok()`函数,你可以手动遍历字符串并逐个字符地查找空格来分割字符串。下面是一个简单的示例,假设我们有一个指向包含"adb acd"的`char *cmd`指针:
```c
#include <stdio.h>
#include <string.h>
void split_string(char *str) {
char *token = str; // 初始化指向当前字符
while (*token != '\0') { // 遍历直到字符串结束
if (*token == ' ') { // 如果找到空格
printf("%s\n", token); // 输出到之前的位置,这里是"adb"
token++; // 移动指针跳过空格
if (*token != '\0') { // 检查下一个字符是否存在
printf("%c", *token); // 输出空格后的第一个字符,这里是'a'
token++;
}
} else { // 如果不是空格,直接打印字符并继续
printf("%c", *token);
token++;
}
}
// 打印最后一个单词,这里是没有空格的"cd"
printf("%s\n", token);
}
int main() {
char cmd[] = "adb acd";
split_string(cmd);
return 0;
}
```
当你运行这个程序,它会分别输出 "adb" 和 "a",然后是 "cd"。
阅读全文