Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何从标准输入中指定文件名,然后读取相同的文件?_C_Linux_Fopen - Fatal编程技术网

C 如何从标准输入中指定文件名,然后读取相同的文件?

C 如何从标准输入中指定文件名,然后读取相同的文件?,c,linux,fopen,C,Linux,Fopen,我正在逐字读取文件,并将其与ascii值进行比较。目前我正在指定要自己读取的文件,但是如果我希望用户为我的程序输入他们自己的文件呢? 下面的示例代码使用fopen(“myFile.txt”、“r”) 但我希望用户选择自己的文件并重定向到我的程序中。 例如a.out

我正在逐字读取文件,并将其与ascii值进行比较。目前我正在指定要自己读取的文件,但是如果我希望用户为我的程序输入他们自己的文件呢? 下面的示例代码使用fopen(“myFile.txt”、“r”)

但我希望用户选择自己的文件并重定向到我的程序中。 例如a.out
 #include <stdio.h>
#include <stdlib.h>
而((single=fgetc(myFile))!=EOF){

}

返回0;
}

您可以使用fgets从用户处读取文件名,然后尝试打开它

char str[MAX_LIMIT]; 
fgets(str, MAX_LIMIT, stdin);
FILE *myFile = fopen(str, "r");
请记住,您试图打开的文件必须位于同一目录中,如果它位于不同的位置,则用户有权指定该文件的完整路径

    if(single=='a'|| single == 'A'){
        A++;
        count++;
    }
char str[MAX_LIMIT]; 
fgets(str, MAX_LIMIT, stdin);
FILE *myFile = fopen(str, "r");