En primer lugar mi entendimiento es que¿Por qué no funciona std :: noskipws, o qué se supone que debe hacer?
cin >> std::noskipws >> str;
debe pegarse una línea entera de cin
como "tengo espacios" en str
. Sin embargo, esto solo pone "yo" en str
. Esto podría ser una suposición falsa en cuyo caso ¿qué hace std::noskipws
?
Sé que hay una función std::getline
y eso funciona, pero simplemente por razones educativas, decidí intentar que std::noskipws
me funcionara. Lo he intentado en el pasado y simplemente nunca funciona, así que normalmente me voy y uso std::getline
.
Lo que creo que he encontrado hasta ahora es que std::noskipws
técnicamente solo desarma std::skipws
cuales internamente al basic_iostream
sólo llama
ios_base::unsetf(std::ios::skipws);
o
ios_base::unsetf(ios_base::skipws);
así que he intentado heredar mi propia forma corriente basic_iostream
y establecer esos indicadores (desarmarlos) manualmente. Todavía no hay dados.
Entonces, ¿estoy completamente fuera de la base o hay una manera de hacer que esto funcione?
Buena pregunta; bienvenido a SO :) –
Quizás quiera [cambiar el delimitador] (http://stackoverflow.com/a/7304184/3484570), pero lo dudo. – nwp