Einlesen bis bestimmtes Zeichen auftritt
-
Hallo,
wie der Titel schon sagt, möchte ich eine Zeile einlesen bis ein bestimmtes
Zeichen auftritt. Ich habe es mit getline probiert, aber getline hört ja erst
auf bis Enter gedrückt wird. Ich möchte, dass gleich mit dem folgenden Programm-
code weiter gemacht wird, sobald das Zeichen auftritt.
-
Das geht nicht mit C++
-
Mit reinem Iso-C++ geht das nicht, du bist wohl oder übel auf eine externe Bibliothek oder WinApi/Linux-Funktionen angewiesen.
-
Und mit welchen würde das gehen???
-
Stiechwort getch
-
Das geht sehr wohl mit getline. Der 3. Parameter ist das "ende" Zeichen. getline(stream,str,';');
-
phlox81 schrieb:
Das geht sehr wohl mit getline. Der 3. Parameter ist das "ende" Zeichen. getline(stream,str,';');
-
phlox81 schrieb:
Das geht sehr wohl mit getline. Der 3. Parameter ist das "ende" Zeichen. getline(stream,str,';');
Er will Daten einlesen, bis ein bestimmtes Zeichen kommt.
Das geht mit getline.http://cppreference.com/cppstring/getline.html
istream& getline( istream& is, string& s, char delimiter = '\n' );'\n' = Enter.
phlox
-
phlox, 'getline' verarbeitet die Eingabe trotzdem erst, sobald der Benutzer <Enter> gedrückt hat, das ist hier nicht gewollt.
-
Konrad Rudolph schrieb:
phlox, 'getline' verarbeitet die Eingabe trotzdem erst, sobald der Benutzer <Enter> gedrückt hat, das ist hier nicht gewollt.
Wenn er std::cin verwendet, dann ja. Sonst nicht.
Woran das bei std::cin liegt, weiss ich aber auch nicht. Ist evtl. abstellbar.std::string line; std::stringstream stream; stream << "foo.bla"; std::getline(stream,line,'.'); std::cout << line << std::endl;// foo