Я пытаюсь использовать ifstream для извлечения двух чисел из файла в argv [1] с именем «inputFile», и оператор извлечения, кажется, извлекает биты кода, а не необходимые числа.
inputFile.txt был помещен в оператор командной строки, щелкнув правой кнопкой мыши по проекту, перейдя в свойства -> отладка -> аргументы команды -> введя inputFile.txt в аргументы команды в Visual Studio 2017.
Файл inputFile.txt выглядит следующим образом:
1 2
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
int main(int argc, char *argv[])
{
//Test opening file
cout << "Input file: " << argv[1] << endl;
ifstream in(argv[1]);
if (!in)
{
cerr << "Unable to open " << argv[1] << " for input";
return 1;
}
//extract numbers
int num1;
int num2;
in >> num1 >> num2;
cout << num1 << endl << num2 << endl;
in.close();
return 0;
}
Я ожидаю, что int num1 будет содержать 1, а int num2 будет содержать 2, но вместо этого каждая переменная содержит число -858993460.