String Problem - Leerzeichen
-
Abend,
Leider hab ich wieder ein Problem,
Mein Programm:
#include <iostream> #include <string> std::string spacedelete(std::string text) { for(int i=0; i < text.length();i++) { if(text[i] == ' ') text[i] = '_'; } return(text); } int main() { std::string eingabe; std::cout << "Geben Sie einen Text ein: " << std::endl; std::cin >> eingabe; std::cout << "Der neue Text heißt: " << spacedelete(eingabe) << std::endl; }Will nicht funktionieren, sobald ich einen Text mit einem Space eingebe. Gibt er mir nur das erste Wort aus und den Rest nicht.
Könnte mir jemand erklären warum und eine Lösung angeben?

Wäre echt dankbar.
Lg Mentras
-
cin >>übergibt strings nur bis zum ersten whitespace.
[url]
http://www.cplusplus.com/reference/string/getline/
[/url]
könnte helfen.soweit ich mich erinnern kann ist es aber möglich, dass es bei einer mischung von cin>> und getline auf verschiedenen betriebssystemen probleme geben kann.
-
Mist, zu langsam

-