指定された引数が有効なファイルであることを確認するために、コードでエラー チェックを実行しようとしています。次のコード:
int main(int argc, char *argv[]){
for(int i = 1, i <=argc, i++){
FILE *fileIn = fopen(argv[i],"r");
if(fileIn == NULL){
fprintf(stderr,"The file %s doesn't exist.",fileIn);
}
else if (fileIn != NULL){
do a bunch of stuff, including printing out values from a struct
}
私が抱えている問題は、プログラムを実行すると、これが出力として得られることです。
The (null) file doesn't exist
Output from else if loop
したがって、基本的には、fileInがnullであると同時にnullではないということです。ファイルを正常に読み取り、正常に実行していますが、毎回エラーが発生します。argv[i などにポインタを割り当てる方法はありますか? これはどのように起こっていますか?