Hola a todos.
Tengo una duda con el failbit de ifstream:
Mi duda es que para comprobarlo, en los ejemplos que he visto, escriben:
if ( (entrada.rdstate() & ifstream::failbit ) != 0 ){ .... }
He leído la especificacion en cplusplus.com, pero no entiendo que significa el trozo de
'& ifstream::failbit ', es decir, ahí el '&' ¿es un operador de comparación o algo así?
¿Cómo funciona?
Muchas gracias.
Cita de: SARGE553413 en 22 Abril 2013, 22:34 PMHe leído la especificacion en cplusplus.com, pero no entiendo que significa el trozo de
'& ifstream::failbit ', es decir, ahí el '&' ¿es un operador de comparación o algo así?
Si, es el operador AND a nivel de bits.
Cita de: SARGE553413 en 22 Abril 2013, 22:34 PM¿Cómo funciona?
1) Se obtiene el estado del stream (la función rdstate).
2) Se obtiene el patrón de bits que indica una falla en el stream (ifstream::failbit)
3) Se aplica el operador AND a nivel de bits y el resultado sera algún valor diferente de cero si esa bandera esta activada, cero si no lo esta.
Un saludo
Ok muchas gracias