![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Jr. Member
![]() Registriert seit: 11.02.2003
Beiträge: 46
|
![]() Ich habe ein Problem beim Aufruf von getline(). Ich habe eine Variable string s deklariert. Nun möchte ich in diese Variable mit der Funktion eine Zeile einlesen. Dabei habe ich die Funktion wie folgt verwendet: getline(cin, s);
Leider funktioniert das jedoch nicht. Sehe im Moment nicht woran das liegen könnte. Weiß jemand Rat?? lg dh233 |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() Registriert seit: 19.12.2000
Ort: Baden
Alter: 48
Beiträge: 1.867
|
![]() Der Befehl lautet:
Code:
cin.getline (s, 100); ![]()
____________________________________
Signatur? Nervt ja nur! Avatar? Wunderbar! ![]() |
![]() |
![]() |
![]() |
#3 |
Hero
![]() |
![]() Code:
#include <string> #include <iostream> using namespace std ; void main() { string s1; cout << "Enter a sentence (use <space> as the delimiter):"; getline(cin,s1, ' '); cout << "You entered: " << s1; } template<class _E, class _TYPE, class _A> inline basic_istream<_E, _TYPE>& getline( basic_istream<_E, _TYPE>& Istream, basic_string<_E, _TYPE, _A>& Xstring, const _E _D=_TYPE::newline()); Bei 2 Parametern müsste ein Return als Delimiter standardmäßig verwendet werden.
____________________________________
Bibel |
![]() |
![]() |
![]() |
#4 |
Jr. Member
![]() Registriert seit: 11.02.2003
Beiträge: 46
|
![]() Erstmal Danke.
@ Root: Ich hab das mit getline(cin, string) aus einem Buch und es funktioniert auch bei einem ganz einfachem Beispiel. @ Flink: Hab ich nicht gekannt. Doch das Problem ist, wenn ich getline() verwende und vorher ein cin >> x habe, dann überspringt das Programm die getline()-Anweisung. |
![]() |
![]() |
![]() |
#5 |
Inventar
![]() Registriert seit: 19.12.2000
Ort: Baden
Alter: 48
Beiträge: 1.867
|
![]() Aha, man lernt nie aus
![]()
____________________________________
Signatur? Nervt ja nur! Avatar? Wunderbar! ![]() |
![]() |
![]() |
![]() |
#6 | |
Hero
![]() |
![]() Zitat:
Kann es sein, dass in deinem Fall zwei NeueZeile-Zeichen hintereinander kommen? Ev. kannst du mit istream::ignore() ein paar Zeichen dazwischen überlesen.
____________________________________
Bibel |
|
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|