如何从输入字符串中解析令牌。
例如:
char *aString = "Hello world".
我希望输出结果为:
。"Hello" "world"
你需要使用 strtok
- 这里有一个很好的例子:链接
strtok
是一个简单的答案,但你真正需要的是一个可以正确处理的词法分析器。请考虑以下内容:
如你所见,编写一个正确的词法分析器并不容易,strtok
也不是一个正确的词法分析器。
其他解决方案可能是一个单字符状态机,可以精确地做到你需要的功能,或者基于正则表达式的解决方案,使定位单词与间隙更加通用化。有很多方法。
当然,所有这些都取决于你的实际要求,而我不知道它们是什么,所以从strtok
开始。但了解各种限制是好的。