【发布时间】:2013-11-21 00:32:37
【问题描述】:
我有一个长文本作为字符串,我想使用 C 将它拆分为单个单词。
我尝试了strtok() 的解决方案,但这对我来说感觉像是一个肮脏的解决方案,因为我有所有的指针疯狂。
是否有直接的解决方案将字符串拆分为单词并将它们存储在数组中?
我想到了一个 for 循环,它迭代字符串并在出现空格或句号时启动一个新的“计数器”,但在存储它时我总是感到困惑......
希望你能帮助我
【问题讨论】:
-
strtok是正确的方法。如果您要使用 C 编程,恐怕您将不得不习惯“疯狂指针” -
strtok 并不总是最佳选择,原因有两个。它破坏了原始字符串,并且不是线程安全的。但是,如果您可以忍受,那么 strtok 可以工作,如果您不想破坏原始字符串,请先使用 strdup 制作副本并将其传递给 strtok。