首页 > 解决方案 > 从 C 中的文件中正确搜索字符串

问题描述

对于任何对更多上下文感兴趣的人来说,这是我的完整项目:https ://www.codepile.net/pile/LEYKzR0N

但是我不相信你需要整个代码来回答这个问题。

我的函数listGamesForPlayer读取的文件格式如下 文件截图

该函数扫描名称并仅返回已写入名称的行或行。

该功能工作得很好,但一个问题是这个。假设在一行中我们有名字 sara,而在另一行中我们有 sarah。该函数将显示我不想要的两个名称。

所以基本上我怎样才能制作这个代码:

//this function lists all games for a player
int listGamesForPlayer()
{
    FILE *fp;
    char filename[]="results.txt",line[200],search_string[name];
    printf("\nEnter name to search for games: ");
    scanf("%s", search_string);
    printf("\nID |  X player  |  O player  |  Left Pieces\n\n");
    fp=fopen(filename,"r");

    while(fgets(line, 200, fp) != NULL){
        if(strstr(line,search_string))
        fputs(line, stdout);
    }
    fclose(fp);
    return 0;
}

只服用 john 而不是 johncena。所以基本上在最后一个字母之后以某种方式剪切。

先感谢您。

标签: cfilesearchfile-search

解决方案


推荐阅读