c语言不使用strtok将指针字符串adb acd按空格拆分,输出分别输出adb,acd
时间: 2024-10-25 10:10:22 浏览: 22
C语言切割多层字符串(strtok_r strtok使用方法)
5星 · 资源好评率100%
在C语言中,如果没有`strtok`函数可用,你可以手动遍历字符串并逐个处理空格。以下是一个简单的示例,展示如何实现这个功能:
```c
#include <stdio.h>
#include <string.h>
void split_string(char *input, char delimiter) {
int i = 0;
while (input[i] != '\0') { // 遍历整个字符串
if (input[i] == delimiter) { // 找到空格
printf("%s\n", input); // 输出前面的部分
input++; // 跳过空格
while (input[i] == ' ') { // 忽略后续的连续空格
i++;
}
} else {
i++;
}
}
if (input[i - 1] != delimiter) { // 如果最后一个字符不是空格,输出剩余部分
printf("%s\n", input);
}
}
int main() {
char str[] = "adb acd";
split_string(str, ' '); // 按照空格分割
return 0;
}
```
在这个程序中,我们首先定义了一个`split_string`函数,它接受输入字符串和分隔符作为参数。然后在`while`循环中检查每个字符,如果是空格就输出已处理的部分,并跳过后续的空格。最后,如果还有内容未输出,即最后一个字符不是空格,也一并输出。
运行此程序,将会得到输出:
```
adb
acd
```
阅读全文