02. februar 2007 - 15:20
Der er
3 kommentarer og 1 løsning
Strings og spaces
Hej... Jeg sidder og roder med lidt C++, jeg har skrevet flg.: #include <isostream> #include <string> int main() { std::string name; std::cin >> name; std::cout << "Hej " << name << std::endl; return 0; } Den virker også fint. Problemet ligger i at når jeg f.eks. skriver "a og b", går den over i et uendeligt loop. ...Jeg tror det noget at gøre med mellemrummene, det virker nemlig uden. Hvad kan jeg gøre ved det? På forhånd tak...
Annonceindlæg fra Asus
02. februar 2007 - 15:32
#1
jeg kan ikke tro at den viste kode gaar i uendeligt loop men muligvis skal du bruge getline fremfor >> til at laese med
02. februar 2007 - 20:36
#2
>> operatoren stopper når den kommer til en space karakter. Brug getline: #include <iostream> #include <sstream> int main() { std::string S; while(std::getline(std::cin, S)) std::cout << "Hello: " << S << std::endl; }
02. februar 2007 - 21:59
#3
hmm.. getline hopper den let og elegant over og sætter strengen til "". Kan det have noget at gøre med at jeg kører Visual C++ 2005?
02. februar 2007 - 22:38
#4
fandt det selv... skulle bare kalde std::cin.ignore(); før getline... tak for deltagelsen.
Kurser inden for grundlæggende programmering