2017-05-22 15 views
-6

Wie cin liest hh, mm und ss, während das Eingabeformat hh: mm: ss Wenn ichwie hh, mm und ss in C++ in "hh: mm: ss" zu lesenden Format

cin>>hh; 
cout<<":"; 
cin>>mm; 

dann wird es in der nächsten Zeile kommen, die ich nicht will.

+0

http://stackoverflow.com/questions/21567291/why-does-stdgetline-skip-input-after-a-formatted-extraction –

+0

Mögliches Duplikat von [Warum überspringt std :: getline() Eingabe nach einem formatierten Extraktion?] (http://stackoverflow.com/questions/21567291/why-does-stdgetline-skip-input-after-a-formatted-extraction) – CaptainTrunky

+0

@Captain Yeah etwas so. Auf Hammerschlag verzichtet, da die Frage ein [MCVE] auf Platz 1 fehlt. –

Antwort

0

Ich bin überhaupt nicht sicher, was die cout << ":"; hier mit irgendetwas zu tun haben soll. Es scheint ziemlich unabhängig davon zu sein, etwas zu lesen.

zu lesen hh:mm:ss Sie in der Regel get_time verwenden wollen würde, so etwas wie:

tm t; 

std::cin >> std::get_time(&t, "%H:%M:%S"); 

Also ja, entgegen der landläufigen Meinung gibt ist etwas in der Standard-Bibliothek speziell für diese Aufgabe (obwohl die Ergebnis endet in einem struct tm Objekt, also wenn Sie die Ergebnisse in separaten Variablen möchten, müssen Sie sie aus dem tm selbst kopieren).

Verwandte Themen