我如何从输入字符串中解析标记。例如:
char *aString = "Hello world".
我希望输出为:
“你好世界”
您将要使用strtok
-这是一个很好的例子。
看看strtok,标准库的一部分。
strtok
是一个简单的答案,但你真正需要的是一个能够正确执行它的词法分析器。考虑以下:
如您所见,编写一个合适的词法分析器并不简单,strtok
也不是一个合适的词法分析器。
其他解决方案可能是精确执行您需要的单字符状态机,或者是基于正则表达式的解决方案,可以使定位单词与间隙更加通用。有很多方法。
当然,这一切都取决于你的实际需求是什么,我不知道,所以从strtok
. 但最好了解各种限制。
对于可重入版本,您可以使用 strtok_s for visual studio或strtok_r for unix