File io 返回错误的文件指针

File io 返回错误的文件指针,file-io,char,File Io,Char,由于某种原因,当我发送argv时,它会返回错误的文件指针。例如,如果我从getty.txt的argv发送字符串,它会发回shakes文件指针,如果我发送genesis.txt char数组,它会发回getty.txt。如何让它将正确的文件指针发送回 for (i = 3; i < argc; i++) { printf("%s\n", argv[i]); pattern(determineFile(argv[i]), ar

由于某种原因,当我发送argv时,它会返回错误的文件指针。例如,如果我从getty.txt的argv发送字符串,它会发回shakes文件指针,如果我发送genesis.txt char数组,它会发回getty.txt。如何让它将正确的文件指针发送回

for (i = 3; i < argc; i++) {
            printf("%s\n", argv[i]);
            pattern(determineFile(argv[i]), argv[2]);
        }

FILE* determineFile(char* file) {
if (strcmp(file,"getty.txt"))
    return getty;
else if (strcmp(file, "shakes.txt"))
    return shakes;
else if (strcmp(file, "genesis.txt"))
    return genesis;
else
    return NULL;
}
(i=3;i{ printf(“%s\n”,argv[i]); 模式(确定性文件(argv[i]),argv[2]); } 文件*确定文件(字符*文件){ if(strcmp(文件“getty.txt”)) 回归盖蒂; else if(strcmp(文件“shakes.txt”)) 回击震动; else if(strcmp(文件“genesis.txt”)) 回归成因; 其他的 返回NULL; } 输入:

grep the getty.txt genesis.txt shakes.txt

输出:

getty.txt

shakes.txt:所有的单词都是一个舞台

shakes.txt:所有的男人和女人都只是球员

shakes.txt:他们有自己的出口和入口

genesis.txt

盖蒂:八十七年前,我们的祖先在此基础上诞生了

getty.txt:大陆,一个新的国家,孕育于自由之中,献身于祖国

shakes.txt

如果字符串匹配,C返回0。尝试:

if(strcmp(a, b) == 0) {/* ... */}

您给出的代码无法编译。另外,请指定输入。