Wczytywanie do wciśnięcia ESC

0

Witam, jak wczytać w C++ (nie w C) linie tekstu, aż do naciśnięcia entara? Nie mogę wczytywać po znaku, jedynie mogę wczytywać linie. Czy da radę to zrobić bez żadnej biblioteki, tak, żeby było przenośne na Win/Lin?

Nomalnie zrobiłbym to tak:

do{
  if(getch()==27)
    break;
}while(1)

z tym, że

  1. to nie jest C++ tylko C
  2. nie mogę wczytywać po znaku, muszę wczytywać linie.

Z góry dzięki za odzew:)

0

To w końcu do naciśnięcia ESC czy całą linię?

0

Coś takiego mniej więcej mi się udało napisać

#include <iostream>
#include <string>
using namespace std;

int main()
{
    const int ESC=27;
    std::string line;
    bool moveOn = true;

    while (std::getline(std::cin, line) && moveOn)
    {
        std::cout << line << "\n";
        for(unsigned int i = 0; i < line.length(); i++)
        {
            if(line.at(i) == ESC)
            { 
                moveOn = false;
                break;

            }
        }
    }
    return 0;
}

Czytam liniami, ale jak ktoś wciśnie ESC, to kończę czytanie

0

tylko to nie do konca dobrze dziala :/

1 użytkowników online, w tym zalogowanych: 0, gości: 1