Итак, у меня есть программа, которую я запускаю через командную строку на Raspberry Pi на C ++. Я знаю, как уже передать аргументы командной строки, но мне нужно передать его с помощью cin, но я не могу заставить его работать.
Обычно я бы использовал args и использовал форматв командной строке, например ./program filename, но я должен использовать этот формат ./program < filename
, чтобы перенаправить имя файла в программу через stdin для этого назначения. Мой инструктор сказал мне использовать cin, но независимо от того, что я делаю, он не откроет файл.
int main(int argc, char *argv[])
{
cout << "Matching Brackets: NAME" << endl;
string line;
string fname;
cin >> fname;
ifstream myfile;
myfile.open(fname);
if (myfile.is_open())
{
while ( getline (myfile,line) )
{
int num = valid(line);
if(num >= 0)
cout << valid(line) << " ";
}
}
cout << endl;
myfile.close();
return 0;
}
Я пытаюсь заставить cin взять фактическое имя файла текстового файла ииспользуйте это в fstream, чтобы открыть файл и прочитать его для выполнения операций, но я не могу открыть его в этом методе, и я не смог найти ничего о том, как сделать это таким образом.