En C++, cada flujo tiene un poco bad
:¿Qué podría hacer que una corriente entrara en el estado "malo"?
Este indicador se establece por las operaciones realizadas en la corriente cuando se produce un error mientras leer o escribir datos, generalmente haciendo que la pérdida de la integridad de la corriente.
¿Qué causaría una corriente de "perder la integridad" y entrar en el estado bad
? Esto no es lo mismo que el estado fail
, que ocurre con mayor frecuencia cuando una corriente de entrada intenta almacenar un valor en una variable que no puede aceptar dicho valor (como intentar almacenar una cadena en una variable entera).
Tenga en cuenta que esta pregunta es una forma más general de c++ file bad bit, que es específica de las transmisiones de entrada de archivos; esta pregunta no es un duplicado exacto, ya que se aplica a los flujos de entrada y salida en general.
¿Quizás una secuencia codificada en varios bytes que encuentra una secuencia multibyte no válida? –
@KerrekSB, que probablemente establecería el bit 'fail', no el bit' bad', ya que la secuencia podría recuperarse mediante 'ios :: clear()' y 'ios :: ignore()'. Esto es simplemente un caso de entrada inválida; No creo que eso cause que la transmisión pierda integridad. – bwDraco