我想通过';'将字符串拆分为标记。但是我有一个问题,例如某些令牌是空的/空的;123;123132;;;232;232323;;;;1; 所以我不能使用 strtok 因为合并相邻分隔符。我看到你发布了这个解决方案:
include <string.h>
char *data = "this&&that&other";
char *next;
char *curr = data;
while ((next = strchr(curr, '&')) != NULL) {
/* process curr to next-1 */
curr = next + 1;
}
/* process the remaining string (the last token) */
但我不明白,因为当我执行 next-1 以获得第一个值时,我只得到值的第一个单词,而不是整个值。你能帮我吗?,你知道如何分割这个吗?我在 C ansi 编程。我在另一篇文章中看到存在一个 strsep 函数,这似乎正是我需要的,但在 C ansi 库中不包含此函数。谢谢和对不起我的英语:)