Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
kingabo #2669 üzenetére
A lényeges kifejezés az "initial whitespace". Tehát ettől még ugyanúgy megáll az operator>> a szavak között, mert csak a beolvasás elején lévőket érinti. Ráadásul ahogy a link mondja is, bizonyos esetekben a nem eldobott bevezető szóköz rögtön le is állítja a feldolgozást:
#include <iostream>
#include <string>
using namespace std;
int main(int, char**)
{
string name;
cin >> noskipws >> name;
cout << '*' << name << '*' << endl;
cin >> name;
cout << '*' << name << '*' << endl;
cin >> name;
cout << '*' << name << '*' << endl;
return 0;
}
$ g++ -Wall test.cpp
$ echo "John Doe" | ./a.out
*John*
**
**Itt a feldolgozás a szóközön megállt, mert a noskipws miatt nem dobja el, viszont az operator>> ezen overloadja a szóköznél annak kiolvasása nélkül megáll. Szóval ez így sose megy tovább.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Bomba ár! Dell Latitude E7240 - i7-4GEN I 16GB I 256SSD I 12,5" HD I HDMI I Cam I W10 I Garancia!
- Csere-Beszámítás! Asrock Challanger B580 12GB GDDR6 Videokártya! Bemutató Darab!
- Xbox Game Pass Ultimate kedvező áron, egyenesen a Microsoft-tól! - AUTOMATA BOLT
- Quadro FX 570 eladó
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest