使用两个文本文件来查找某些字符串

时间:2017-10-06 09:07:17

标签: c cryptography strstr

我已经摆弄了这段代码,仍然无法满足我的需求

我需要将'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中的第一个单词,而不是它。

0 个答案:

没有答案