Запуск C ++ с вводом в командной строке - PullRequest
0 голосов
/ 27 апреля 2020

Мне нужно, чтобы моя программа работала, набрав код ниже в linux shell

./[program name] < [input file name]
e.g. ./program1 < input.txt

, в программу входит, например,

int main(int argc, char ** argv){
    string file;
    cin >> file;
    fstream input_file (file, fstream::in);
}

, она работает, когда я печатаю

./program1
input.txt 

но не когда

./program1 < input.txt

Любая помощь?

1 Ответ

0 голосов
/ 27 апреля 2020

Вам не нужно открывать файл с помощью fstream, если вы просто хотите получить данные.

Вызовите код с помощью ./program < input.txt.

Код:

int main() {
    // no need to open file here start reading data directly from input.txt
    int n;
    std::cin >> n;
    std::cout << n; // should print the first number present in your input.txt file.
    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...