Методы чтения входных данных из терминала в C++

В C++ существует несколько методов чтения ввода с терминала при вызове программы. Вот некоторые распространенные подходы:

  1. Стандартный поток ввода (cin):
    Вы можете использовать объект cinиз библиотеки iostream для чтения входных данных с терминала. Он позволяет вам читать различные типы данных, такие как целые числа, числа с плавающей запятой, символы и строки. Вот пример:

    #include <iostream>
    using namespace std;
    int main() {
       int num;
       cout << "Enter a number: ";
       cin >> num;
       cout << "You entered: " << num << endl;
       return 0;
    }

    При запуске этой программы вы можете ввести число в терминале, и оно будет сохранено в переменной num.

  2. Аргументы командной строки:
    Вы можете передавать входные значения в свою программу непосредственно из командной строки при ее выполнении. Аргументы командной строки хранятся в параметре argvфункции main. Вот пример:

    #include <iostream>
    using namespace std;
    int main(int argc, char* argv[]) {
       if (argc > 1) {
           int num = atoi(argv[1]);
           cout << "You entered: " << num << endl;
       }
       return 0;
    }

    В этом примере вы можете запустить программу с числом в качестве аргумента, например: ./program_name 42. Программа прочитает число из командной строки и отобразит его.

  3. Функция getline():
    Функция getline()из библиотеки позволяет вам прочитать всю строку ввода из Терминал. Вот пример:

    #include <iostream>
    #include <string>
    using namespace std;
    int main() {
       string input;
       cout << "Enter a line of text: ";
       getline(cin, input);
       cout << "You entered: " << input << endl;
       return 0;
    }

    При запуске этой программы вы можете ввести строку текста, и она будет сохранена в строке input.

Это всего лишь несколько методов чтения входных данных с терминала на C++. В зависимости от ваших конкретных требований вы можете выбрать тот, который лучше всего соответствует вашим потребностям.