stm32程序中,char str = “10 20.5 hello”; 如何从 str得到token[0]=10,token[1]=20.5,token[2]=hello,
时间: 2024-10-14 21:13:40 浏览: 20
在STM32程序中,处理字符串"10 20.5 hello"并分割成tokens通常涉及到字符串解析和数组操作。你可以使用循环和条件判断来实现这个功能。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_TOKENS 3
#define TOKEN_LENGTH 10
char str[] = "10 20.5 hello";
char tokens[MAX_TOKENS][TOKEN_LENGTH];
int token_count = 0;
void tokenize(char *str) {
char *token = strtok(str, " "); // 使用空格作为分隔符
while (token != NULL) {
if (token_count < MAX_TOKENS) { // 防止超过最大数量
strcpy(tokens[token_count], token);
token_count++;
} else {
break; // 当达到最大数量就停止
}
token = strtok(NULL, " "); // 继续查找下一个分隔符
}
}
int main(void) {
tokenize(str);
for (int i = 0; i < token_count; i++) {
printf("token[%d] = %s\n", i, tokens[i]);
}
阅读全文