我正在尝试使用argv [1]读取文本文件。在我的代码构建argc后仍然只有1,这意味着文件没有被检测到。请参阅下面我的代码:使用argv读取文本文件
#include <iostream>
#include <string.h>
#include <fstream>
using namespace std;
int main(int argc, char **argv) {
char msg[256]={0};
if (argc < 2){
cout<<"file not found";
}
if(argc > 1){
strcpy(msg,argv[1]);
}
FILE *file;
if ((file = fopen(argv[1], "r")) == NULL)
{
printf("file doesnt exist\n");
}
fclose(file);
cout<<argv[1];
}
我无法弄清楚如何得到ARGC大于1的值,然后读取该文件的内容?
你用来运行程序的命令是什么?即'myexe.exe ????' – NathanOliver
传递参数以获取argc的值大于1.如何实现它取决于您用于运行程序的shell或IDE。 – MikeCAT
您不应该像这样使用'msg',因为'argv [1]'可以直接使用,并且这个复制允许缓冲区溢出。 – MikeCAT