gpt4 book ai didi

c - 搜索文件并根据 C 中的输入从中读取

转载 作者:行者123 更新时间:2023-11-30 18:30:40 26 4
gpt4 key购买 nike

我不明白为什么下面的方法不起作用......

If filename entered matches -> display file

If filename entered does not match file then exit with error code.

目前,无论我输入什么,它总是显示文件...

int c;
int str;
FILE *file;
int main(void);

fprintf(stdout, "Please input a file you would like to retrieve\n");
str = getchar();

if(str = "success.txt")
{
file = fopen("success.txt", "r");
if (file) {
while ((c = getc(file)) != EOF)
putchar(c);
fclose(file);
}
} else {
fprintf(stderr, "The file you have requested does not exist\n");
}

我也尝试过使用 fscanf 来获得完全相同的结果。谁能指出我正确的方向?

我可以使用下面这样的东西吗?

char* path = "success.txt"; 
int rval;
/* Check file existence. */
rval = access (path, F_OK);
if (rval == 0)
return 0 ;
else { if (errno == ENOENT)
{ fprintf (stderr, "%s does not exist program will now exit", path);
exit(0);
}
}

谢谢

最佳答案

在您的代码中,您将从用户那里获取字符。但您正在使用 string 进行检查。

使用fgets获取用户的输入。

 char *fgets(char *s, int size, FILE *stream);

int len=stlen(array)-1;
if ( len > 0 && array[len] == '\n' )
array[len] ='\0';

当您需要比较该文件时,请使用strcmp函数。

 if ( strcmp(array,"success.txt\n") == 0 )
<小时/>

关于c - 搜索文件并根据 C 中的输入从中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29442792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com