std::cin-Zeile lesen
-
Hi,
mann ist mir das peinlich, aber ich fürchte, ich bin inzwischen unfähig, mit std::cin umzugehen.
Ich habe einen Thread, der meine Konsole ansteuert:
void Console::run(void) { std::cout << "Console thread is online." << std::endl; // Endless loop until this thread should stop working while (!m_bShouldExit) { doTick(); sleep(250); } // One last tick doTick(); std::cout << "Console thread is offline." << std::endl; } void Console::doTick(void) { // Lock our mutex ScopedMutexLock lock(m_mutex); #ifdef GB_WINDOWS if (kbhit()) #else #error kbhit() only supported by Windows! #endif { // Let the user input a line std::cout << " >> " << std::flush; std::cin >> m_sInput; } // Display output queue while (!m_outQueue.empty()) { std::cout << m_outQueue.front() << std::endl; m_outQueue.pop(); } }
Funktioniert auch alles einwandfrei, aber wenn ich z.B. "test1 test2" eingebe, lese ich nur das test1 (wie es ja auch meistens bei Eingabe gewünscht ist um mehrere Variablen aus einer Zeile mit Space als Seperator zu lesen).
Nur wie kann ich eine ganze Zeile lesen?
ChrisM (ist das peinlich
)
-
getline(cin, m_sInput);
-
Hi,
danke, funktioniert!
ChrisM
-
Da gibts ne Funktion getline(cin, pufferstring);, wei aber net aus welchem Header
mfg
Glamdring
-
zu spät :xmas1:
-
Glamdrink schrieb:
Da gibts ne Funktion getline(cin, pufferstring);, wei aber net aus welchem Header
<string>