Biblioteca C ++ IOS - bueno

Descripción

Se utiliza para comprobar si el estado del flujo es bueno.

Declaración

A continuación se muestra la declaración de la función ios :: good ().

bool good() const;

Parámetros

ninguna

Valor devuelto

Verdadero si no se establece ninguno de los indicadores de estado de la transmisión.

Falso si se establece alguno de los indicadores de estado de la transmisión (badbit, eofbit o failbit).

Excepciones

Strong guarantee - si se lanza una excepción, no hay cambios en la secuencia.

Razas de datos

Accede al objeto de flujo.

El acceso simultáneo al mismo objeto de flujo puede provocar carreras de datos.

Ejemplo

En el siguiente ejemplo se explica acerca de ios :: good ().

#include <iostream>     
#include <sstream>      

void print_state (const std::ios& stream) {
   std::cout << " good()=" << stream.good();
   std::cout << " eof()=" << stream.eof();
   std::cout << " fail()=" << stream.fail();
   std::cout << " bad()=" << stream.bad();
}

int main () {
   std::stringstream stream;

   stream.clear (stream.goodbit);
   std::cout << "goodbit:"; print_state(stream); std::cout << '\n';

   stream.clear (stream.eofbit);
   std::cout << " eofbit:"; print_state(stream); std::cout << '\n';

   stream.clear (stream.failbit);
   std::cout << "failbit:"; print_state(stream); std::cout << '\n';

   stream.clear (stream.badbit);
   std::cout << " badbit:"; print_state(stream); std::cout << '\n';

   return 0;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

goodbit: good()=1 eof()=0 fail()=0 bad()=0
 eofbit: good()=0 eof()=1 fail()=0 bad()=0
failbit: good()=0 eof()=0 fail()=1 bad()=0
 badbit: good()=0 eof()=0 fail()=1 bad()=1