我正在嘗試使用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