如何从输入字符串中解析标记。 例如:
char *aString = "Hello world".
我希望输出为:
“你好”“世界”
答案 0 :(得分:7)
您将要使用strtok
- here is a good example.
答案 1 :(得分:6)
查看strtok,标准库的一部分。
答案 2 :(得分:4)
strtok
是一个简单的答案,但你真正需要的是一个能够正确完成它的词法分析器。请考虑以下事项:
正如您所看到的,编写一个合适的词法分析器并不简单,strtok
不是一个合适的词法分析器。
其他解决方案可以是单个字符状态机,它可以完全满足您的需求,也可以是基于正则表达式的解决方案,可以使定位词与间隙更加通用。有很多方法。
当然,所有这些都取决于您的实际要求,我不了解它们,所以从strtok
开始。但是要了解各种限制是很好的。
答案 3 :(得分:3)
对于可重入版本,您可以使用 strtok_s for visual studio或strtok_r for unix
答案 4 :(得分:2)