这个带参数的main()有什么问题呢?
int main(int argc, char *argv[])
{
FILE *fp1,*fp2;
fp1=fopen(argv[1],"r");
assert(fp1!=NULL);
fp2=fopen(argv[2],"r");
assert(fp2!=NULL);
......
}
在运行的时候,输入learnhill value data,会出现错误提示:Assertion failed: fp1!=NULL
这是为什么呢?多谢大家了!
[解决办法]
你要确定你传递进去的命令行是有效的文件路径
否则,打开文件失败,fp1为NULL,就会这样了
[解决办法]
value 和 data 应该为有效的文件路径,如:D://value.txt等。
否则找不到文件,打开文件失败,文件指针fp1为NULL,
到这里assert(fp1!=NULL);
断言失败,程序abort退出
[解决办法]
如果你是命令行执行需要参数
main.exe filename1 filename2
如果你是vc调试执行,需要在project ->setting ->debug->arguments里设置 filename1 filename2