C语言——查找包含字母的单词

C language - finding words containing letters

谁能帮助我完成这个简单的程序? 它必须是 C 编程语言 c99 标准。 我有一个包含很多单词(超过 500 个)的文件。 一开始,用户将写 5 个字母。 该程序将从文件中找到包含这些字母的每个单词,并在最后打印出来。字母不必按顺序排列。例如 写字母:a,b,c,d,e

包含这些字母的单词:cbadfjdejhdis, axxxabxxcexd

如果你只需要"at least one of the letters a,b,c,d,e"那么你可以调用strtok()

如果你需要 "must contain all letters of a,b,c,d,e" 那么你需要迭代,你可以使用 strchr(input, match[i]) 的简单循环,其中 match 是 "abcde" 并且我从 0 循环到 strlen(match)。如果 strchr returns NULL(不匹配)你应该中止这个词(输入)并继续。

您可能会发现 strcspn 和 strspn 是有用的函数,如果您不介意它会破坏字符串,strtok 也可以。