【发布时间】:2015-12-15 21:37:56
【问题描述】:
我正在尝试拆分字符串,但不幸的是 strtok 行为怪异
我有以下字符串 get|user=password|23|info|hello 我已经尝试过使用 strtok 的广泛使用的方法,但不幸的是它将 = 视为分隔符,我无法解析我的字符串。
所以get 解析正确比只解析user,但不是user=password。
请帮助找出问题或提出任何其他拆分字符串的方法。 我正在为 Arduino 编程。
谢谢
代码
const char delimeter = '|';
char *token;
token = strtok(requestString, &delimeter);
// Handle parsed
token = strtok(NULL, &delimeter);
【问题讨论】:
-
尝试使用字符串文字作为分隔符,而不是单独的、未分隔的
char。我还建议避免使用strtok(),但这与您的问题无关。 -
重要提示:requestString 将被 strtok 破坏,因为 strtok 将在找到它们的任何地方将 delim 字符替换为空值。
标签: c++ string parsing arduino