c语言不使用strtok将指针字符串adb acd按空格拆分,分别将拆分的字符串打印adb,acd
时间: 2024-10-25 08:13:14 浏览: 29
在C语言中,如果你想不使用`strtok`函数按照空格拆分字符串,可以手动遍历字符串并逐个字符查找空格,然后提取两边的子串。下面是一个示例:
```c
#include <stdio.h>
#include <string.h>
void split_and_print(char *str) {
int start = 0, end = 0;
while (str[end] != '\0') { // 遍历整个字符串
if (str[end] == ' ') { // 找到空格
char temp[start+1]; // 创建临时存储区
strncpy(temp, str + start, end - start); // 复制子串到temp
temp[end - start] = '\0'; // 结束子串
printf("Substring: %s\n", temp); // 打印子串
start = end + 1; // 更新起始位置
} else {
end++; // 如果不是空格,继续向后查找
}
}
if (end > start) { // 检查最后一个单词(可能没有空格)
char temp[start+1];
strncpy(temp, str + start, end - start);
temp[end - start] = '\0';
printf("Substring: %s\n", temp); // 打印最后一个子串
}
}
int main() {
char str[] = "adb acd";
split_and_print(str);
return 0;
}
```
这个代码会把"adb" 和 "acd" 分别打印出来。
阅读全文