Zeichenkette speichern
-
Guten Tag!
Habe folgendes Problem...was in meinem C++ Buch nicht drin steht...komisch, aber ok.
Also: Wenn jemand einen Satz eingibt, dann kann ich den ja nicht einfach mit cin speichern, sondern, dann nimmt er ja nur das letzte Wort...wie mache ich, dass er den ganzen Satz nimmt?(Die Frage ist peinlich *g*, aber bin halt totaler Anfänger:))
-
std::getline
-
string seitentitel; cout << "Titel der Seite eingeben: " << endl; getline(cin, seitentitel);Wieso klappt das nicht? Was amche ich da falsch..wäre dankbar für jede Hilfe
-
std::string string; std::cout << "Input: " << std::flush; std::getline(std::cin, string);sollte eigentlich problemlos gehen ...
-
danke schön...probier es gleich...wieso benutzt ihr eigentlich das std::?
-
weil durch die neuen bibos die cout anweisung in einem namensraum liegt -> std;
die namensräume wurden eingeführt damit es keine überschneidungen der variablen bei großen projekten gibt.
also man kann
using namespace std;schreiben und man benötigt kein std:: mehr oder man ladet explizit nur einen bestimmten bereich des "namensraum"
mit:using std::coutcout << " blablabla"; //jedoch nicht cin std::cin>> a;
-
aso und das würde zeit sparen bei großen projekten --> schneller laden und laufen?
-
Nein, zur Laufzeit macht das keinen Unterschied, bestenfalls sparst du dir etwas Schreibarbeit beim Programmieren.
-
CStoll schrieb:
Nein, zur Laufzeit macht das keinen Unterschied, bestenfalls sparst du dir etwas Schreibarbeit beim Programmieren.
... und außerdem könntest Du eigene Implementationen einbauen:
#include <iostream> // hier "IOKram" aus std:: "importieren" #include <string> // hier strings aus std:: "importieren" #include "Simon2Lib" // hier meine eigenen Implementationen using std::cin; // wo "cin" steht: std::cin verwenden using std::string; //dito für string using Simon2::cout; // ABER: mein eigenes cout verwenden int main() { string seitentitel; cout << "Titel der Seite eingeben:" << endl; getline(cin, seitentitel); cout << "seitentitel: " << seitentitel << "\n"; return 0; }So kann man relativ einfach an einer Stelle (beim "using") gezielt eine andere Implementation (hier cout) unterschieben....
Gruß,
Simon2.