fopen 返回 NULL 基于
现在我有一个文件要读取,我想在控制台上输出,但它会抛出一个错误,因为 fp 在此处返回 NULL 一个片段
#include<stdio.h>
int main(char argc,char **argv)
{
if(argc < 2)
{
printf("Usage:\t");
printf("Hash File path");
}
printf("Hash File : %s\n", argv[1]);
FILE *fp = fopen("argv[1]","r");
if(fp == NULL)
{
fprintf(stderr,"Can't open %s\n", argv[1]);
}
else
{
char buff[100];
while(!feof(fp))
{
if(fgets(buff,100,fp) == NULL) break;
fputs(buff,stdout);
}
fclose(fp);
}
return 0;
}
每当我从命令行传递文件路径 E:\design\test.txt 时,它总是显示错误报告“无法打开....”,如下所示
所以混乱是
为什么 Fopen 无法从命令行读取?