我试图用strcmp.Im来比较一个数组的单词,试图让每个在数组中出现不止一次的单词只打印一次,这样我就可以确定唯一单词的数量。我知道它做错了什么当它搜索数组时,它打印出它找到的每个副本,例如,如果单词“the”在数组中4次,它将打印出'the'3次,当string1
进入下一个位置时'the'在哪里,它将打印2次,依此类推。
答案 0 :(得分:2)
将您的char数组转换为std::string
而不是打印它们,将它们放入std::set
。然后打印集合中的每个元素。
答案 1 :(得分:1)
很好,你添加了声明,
现在从它的外观来看,似乎单词[] []是多余的,并且使事情变得多么复杂。如果你只对获得独特的单词感兴趣,而只是通过用遇到的单词构建一个字典来处理从strtrok返回的内容
字典可以像包含唯一字的最大大小数组一样简单,当数组为空时,每当strtok返回一个单词,遍历数组并使用strcmp查找单词时,索引从0开始如果它不存在则将其添加到数组的末尾然后递增然后索引。
和鲍勃是你的叔叔:)