• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] [C++] Wie Text mit Leerzeichen einlesen?

Calvin

Hacker
Hi allerseits,

ich steht gerade ziemlich auf dem Schlauch und bei google bin ich mit meinen Suchbegriffen auch nicht weitergekommen. Ich möchte ein C++Programm schreiben, in dem ein ganzer Satz inklusive Leerzeichen eingelesen wird. Dieser soll in einem char-Feld gespeichert werden.

Wie mache ich das?

Minimalbeispiel:

Code:
#include<iostream>

using namespace std;

int main()
{
  char text[100];
  cout << "Eingabe: ";
  cin >> text;
  cout << "Ausgabe: "<< text << endl;
  cout << "gewünschte Ausgabe: a b";
}

Das ergibt (logischerweise)
Code:
Eingabe: a b
Ausgabe: a
gewünschte Ausgabe: a b
 

abgdf

Guru
Hallo,

mein C++-Buch sagt dazu:
Code:
#include<iostream>

using namespace std;

int main()
{
  char text[100];
  cout << "Eingabe: ";
  cin.get(text, 99);
  cout << "Ausgabe: "<< text << endl;
  cout << "gewünschte Ausgabe: a b" << endl;
}

Wegen solcher Schwierigkeiten kann ich C/C++ auch irgendwie nicht ab.

Nimm doch lieber Perl:
Code:
perl -e 'print "Eingabe: "; $a = <STDIN>; print "Ausgabe: $a";'
Damit bist Du viel schneller und kannst mit dieser kleinen Codezeile auch locker Eingaben von mehr als 99 Zeichen verarbeiten :p.

Viele Grüße
 
OP
C

Calvin

Hacker
Ja, das passt so. Danke dir :)

Mit Perl habe ich mich noch nie beschäftigt. Deshalb bin ich *heute* in C++ schneller ;)
 

abgdf

Guru
Ja, wie Bjarne Stroustrup (der Erfinder von C++) hier

http://www.gotw.ca/publications/c_family_interview.htm

schon sagte
Without supporting libraries, most serious applications are unnecessarily hard in C++. With suitable libraries, most are reasonably easy.
aber auch
the C++ world suffers from fragmentation of its huge base of libraries
IMHO muß man sich da letztendlich für allzu grundlegende Dinge durch allzu viele Bibliotheks- und Compilerdokumentationen kämpfen. Aber klar, wenn die Anwendung das wegen der Geschwindigkeit o.ä. verlangt, muß es eben sein :roll:.

Viele Grüße
 
Oben