Я пытаюсь прочитать текстовый файл, используя 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. Как это сделать, будет зависеть от вашей оболочки или среды IDE, которую вы используете для запуска вашей программы. – MikeCAT
Вы не должны использовать 'msg', как это, потому что' argv [1] 'может использоваться напрямую, и это копирование допускает переполнение буфера. – MikeCAT