Подтвердить что ты не робот

Чтение из stdin в С++

Я пытаюсь читать с stdin с помощью С++, используя этот код

#include <iostream>
using namespace std;

int main() {
    while(cin) {
        getline(cin, input_line);
        cout << input_line << endl;
    };
    return 0;
}

когда я компилирую, я получаю эту ошибку.

[[email protected] krisdigitx]# g++ -o capture -O3 capture.cpp
capture.cpp: In function âint main()â:
capture.cpp:6: error: âinput_lineâ was not declared in this scope

какие идеи отсутствуют?

4b9b3361

Ответ 1

Вы не определили переменную input_line.

Добавьте это:

string input_line;

И добавьте это include.

#include <string>

Вот полный пример. Я также удалил полуточку после цикла while, и вы должны иметь getline внутри времени, чтобы правильно определить конец потока.

#include <iostream>
#include <string>

int main() {
    for (std::string line; std::getline(std::cin, line);) {
        std::cout << line << std::endl;
    }
    return 0;
}