c语言不使用strtok将指针字符串0 0x50 2 1 00 00 00以中间的空格拆分,打印出拆分后的每个元素
时间: 2024-10-25 09:08:54 浏览: 29
C语言函数库-第四章(字符串函数)
在C语言中,如果你想不使用`strtok`函数来手动拆分一个以空格隔开的字符串,你可以创建一个循环,遍历输入字符串并逐个提取数字。假设我们的字符串是一个字节数组,可以按以下步骤操作:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "0 0x50 2 1 00 00 00";
char* ptr = str;
while (ptr != NULL) {
// 检查是否遇到空格
if (*ptr == ' ') {
printf("%s", ptr); // 打印前面的元素
ptr++; // 移动到下一个字符
} else {
// 如果不是空格,就一直读取直到遇到空格
while (*ptr && *ptr != ' ') {
ptr++;
}
}
// 当我们到达下一个元素时,如果还有内容,则打印
if (*ptr) {
printf(" %s", ptr); // 添加一个空格
ptr++; // 移动到下一个空格的位置
}
}
// 别忘了处理最后一个元素,如果没有空格则直接打印
if (*ptr) {
printf(" %s", ptr);
}
return 0;
}
```
这个程序会输出:`0 0x50 2 1 00 00 00`,每个元素之间用空格分开。
阅读全文