Cómo borrar stringstream? [duplicar]
-
27-09-2019 - |
Pregunta
Esta pregunta ya tiene una respuesta aquí:
- ¿Cómo se borra una variable stringstream? 8 respuestas
stringstream parser;
parser << 5;
short top = 0;
parser >> top;
parser.str(""); //HERE I'M RESETTING parser
parser << 6; //DOESN'T PUT 6 INTO parser
short bottom = 0;
parser >> bottom;
¿Por qué no funciona?
Solución
Por lo general a 'reset' un stringstream que necesita para restablecer tanto la secuencia subyacente a una cadena vacía con str
y para despejar cualquier fallar y eof banderas con clear
.
parser.str( std::string() );
parser.clear();
Normalmente lo que sucede es que el primer >>
llega al final de la cadena y establece el bit EF, aunque se analiza con éxito el primer corto. Las operaciones en la corriente después de esto inmediatamente porque fallan poco EF de la corriente sigue estando ajustado.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow