标签: c strtok
我的问题是
char *text, *tag = "foobar"; if (tokenizedStr[0] == "<") tag = strtok((tokenizedStr), ">");
有时,标记化字符串应该被允许不以标记开头。鉴于下一行
do {
是以while (tag = strtok(NULL, ">"));结尾的大规模比较循环的开始我想知道是否有任何方法可以提供strtok基本字符串,而不会超过任何字符?我实现了基本的格式化和换行。
while (tag = strtok(NULL, ">"));
strtok
由于
答案 0 :(得分:1)
如果我理解你的问题:不,strtok这是不可能的。您需要功能更强大的工具:lex和yacc,以及正确定义的正式语法,无论您尝试解析什么。这不仅会取代您使用strtok,而且会取代大部分&#34;大规模比较循环&#34;你没有表现出来。
lex
yacc