PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : cin.getline ???



RambozoTheClown
02-10-2001, 09:43
Hallo zusammen,

wie kann ich mit c++ einen String von der Kommandozeile einlesen, der auch Leerzeichen enthält (was mit cin ja nicht funktioniert)? cin.readline wird vom g++ zwar ohne Beanstandungen kompiliert aber beim Programmdurchlauf einfach übergangen.

Beispiel:

int main(void)
{
char name[21];

cout << "Wie lautet ihr Name (Vor- und Nachname)? ";
cin.getline(name,20);

return 0;
}

Vielleicht kennt jemand von euch ja eine Alternative...

Danke, Ulf

jgbauman
02-10-2001, 13:23
1. obiges ist voellig korrekt und sollte funktionieren (tut es bei mir auch). Stimmt etwas mit deiner C++ Umgebung nicht.
2. Wenn schon C++, wieso dann ein starres char name[21] und kein string?

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

int main(void)
{
string name;

cout << "Wie lautet ihr Name (Vor- und Nachname)? ";
getline(cin,name);
cout <<name<<endl;
return 0;
}

RambozoTheClown
04-10-2001, 07:24
Hmmm, keine Ahnung, warum er das nicht macht. Borland C++ aufm Windows-Rechner verhält sich aber genauso...