File io 返回错误的文件指针
由于某种原因,当我发送argv时,它会返回错误的文件指针。例如,如果我从getty.txt的argv发送字符串,它会发回shakes文件指针,如果我发送genesis.txt char数组,它会发回getty.txt。如何让它将正确的文件指针发送回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
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) {/* ... */}
您给出的代码无法编译。另外,请指定输入。