我已经摆弄了这段代码,仍然无法满足我的需求
我需要将'dict.txt'与'output.txt'进行比较
所以dict.txt只是一个包含数千个单词的字典 output.txt是结构中的解密字符串,例如:
"pkbld pjfqb kfqqk ebdfo"
"diqol llrok rak"
"zwpwx woaiw jwcan"
"pvqbq xklfe obtxx s"
"sense ofach ievem ent"
你可以看到一个是有效的,'成就感' 我需要通过将它与dict.txt
进行比较来找出哪些行是有效的'单词'我通过肢解别人的代码来处理我的任务,但我无法做到正确。
int main() {
FILE *fp;
FILE *fp2;
int line_num = 1;
int find_result = 0;
char temp[512];
char str[512];
fp = fopen("dict.txt","r");
if(fp == NULL)
{
printf("Source File Could Not Be Found\n");
}
fp2 = fopen("output.txt","r");
if(fp2 == NULL)
{
printf("Target File Could Not Be Found\n");
}
fgets(str, 512, fp2);
while(fgets(temp, 512, fp) != NULL) {
if((strstr(temp, str)) != 0) {
printf("A match found on line: %d\n", line_num);
printf("\n%s\n", temp);
find_result++;
}
line_num++;
}
if(find_result == 0) {
printf("\nSorry, couldn't find a match.\n");
}
//Close the file if still open.
if(fp || fp2) {
fclose(fp);
fclose(fp2);
}
return(0);
}
它只能找到output.txt中的第一个单词,而不是它。