我正在为我的 C 编程课程做 C 练习。我必须将文本文件中的数据读入链接列表并查找匹配项,然后将结果打印出来。
文本文件示例:
"Apple/Orange",1
"Banana/Watermelon/Lemon",2
"Watermelon/Strawberry",3
"Orange/Grape/Watermelon",4
"Blueberry", 5
使用 fgets()、sscanf() 和 void 函数将它们存储到我的链表中,因此字符串将以引号开头。
问题是当我尝试使用 strncmp() 从字符串中查找单词时,由于引号而无法正常工作。
我做了类似的事情:
void findFruits(List *list){
Node *position = list->first;
while(position != NULL){
if(strncmp(position->fruits, "Watermelon", 10)==0){
printf("%s, %d\n", position->fruits, position->number);
}
position = position->next;
}
我真的不知道从以引号开头的字符串中找到一个确切的单词,任何帮助将不胜感激,谢谢。
现在解决了,感谢 Barmar 的想法。当我尝试使用 strstr() 而不是 strncmp() 时,它工作得很好。
if(strstr(position->fruits, "Watermelon")){
printf("%s, %d\n", position->fruits, position->number);
}