.open файлы с использованием argc и argv в C++
У меня есть код, который должен открывать два файла.dat одновременно и в конечном итоге загружать файлы в метод для их обработки. Я не уверен, как загрузить два файла, используя код, который мне дали. Я покажу ниже.
Это мой главный
int main(int argc, char** argv)
{
// Start main class with command-line args
GPXport run(argc, argv);
return 0;
}
Это часть кода для загрузки в файлы.
ofstream output;
// Open files
file_one.open(argv[1]);
file_two.open(argv[2]);
output.open(argv[3]);
if (! file_one) {
cout << "Error reading: " << argv[1] << endl;
} else if (! file_two) {
cout << "Error reading: " << argv[2] << endl;
} else if (! output) {
cout << "Error creating: " << argv[2] << endl;
} else {
cout << "Master: " << argv[1] << endl <<
"Slave: " << argv[2] << endl <<
"Output file: " << argv[3] << endl;
}
Теперь проблема в том, что я не понимаю ситуацию с argv и argc. Как мне получить два местоположения файлов для этого кода?
Спасибо
Редактировать---
У меня тоже это есть перед второй частью кода..
GPXport::GPXport(int argc, char **argv)
{
using namespace std;
if (argc != 4) {
cout << "Usage: ./gpsfix_cpp <master> <slave> <output>" << endl;
exit(1);
}
1 ответ
Решение
Запустите скомпилированный исполняемый файл из командной строки как:
[your executable] [input path1] [input path2] [output path]
если какой-либо путь содержит пробелы, укажите путь.