问题描述
我正在逐字符读取文件,并将其与ascii值进行比较。目前,我正在指定要读取的文件,但是如果我希望用户为程序输入他们自己的文件怎么办? 示例下面的代码使用fopen(“ myFile.txt”,“ r”);
但是我希望用户选择自己的文件并重定向到我的程序中。
例如a.out int main(){ while((single = fgetc(myFile))!= EOF){ } 返回0;
} #include <stdio.h>
#include <stdlib.h>
FILE *myFile = fopen("myFile.txt","r");
double count=0;
char single;
if(single=='a'|| single == 'A'){
A++;
count++;
}
解决方法
您可以使用fgets向用户读取文件名,然后尝试将其打开。
char str[MAX_LIMIT];
fgets(str,MAX_LIMIT,stdin);
FILE *myFile = fopen(str,"r");
请记住,您要打开的文件必须位于同一目录中,如果文件位于其他位置,则用户必须指定文件的完整路径。