En caso de ifstream
en C++, ¿en qué condiciones están establecidas las banderas failbit
y badbit
?C++ ifbit failbit y badbit
Respuesta
Según cplusplus.com:
failbit se fija generalmente por una operación de entrada cuando el error se relaciona con la lógica interna de la operación en sí, por lo que otras operaciones en la corriente pueden ser posibles. Mientras que badbit se establece generalmente cuando el error implica la pérdida de integridad de la secuencia, que es probable que persista incluso si se realiza una operación diferente en la secuencia. badbit se puede verificar de forma independiente llamando a la función miembro mal.
En palabras sencillas , si se obtiene un número cuando esperar para recuperar una carta, es failbit
. Si se produce un error grave , lo que interrumpe la capacidad de lectura de la secuencia en absoluto - es un badbit
.
Excepto las banderas mencionadas, hay una tercera muy similar - eofbit
. Puede comprobar el estado usando varias funciones: ios::fail
, ios::good
y ios::bad
Y usted puede familiarizarse con iostream library al recurso de MSDN también.
Finalmente, si la búsqueda de la solución correcta de cómo manejar todos los bits de error y excepciones al leer el archivo (o acceder a algún archivo o directorio), le recomiendo que lea un muy amplio y bien -artículo escrito "Reading files in C++ using ifstream: dealing correctly with badbit, failbit, eofbit, and perror()", al final del cual encontrará algunos Ideal solutions. El artículo vale la pena leer de hecho.
- 1. Use getline() sin configurar failbit
- 2. En C++, ¿puede establecer manualmente el failbit de una secuencia? ¿Cómo?
- 3. Copia de una transmisión estándar a otra de manera eficiente
- 4. C# y C++ Library
- 5. C# y Visual C#?
- 6. Combinando C++ y C#
- 7. C/C++ Embalaje y compresión
- 8. nula, inválida, C y C++
- 9. C estructura y C++ estructura
- 10. Diferencia entre C: y C:/
- 11. Mezcla C y objetivo-C
- 12. Relación entre C y C++
- 13. C# y VB en C#
- 14. C++ Modules y C++ ABI
- 15. Windows Unicode C++ Stream Output Failure
- 16. Son. y -> en C y C++ ¿realmente operadores?
- 17. variables globales estáticas y externas en C y C++
- 18. asignación de mapa y shared_ptr entre aplicaciones C# y C++?
- 19. Mezcla de Objective-C y C++
- 20. Herramientas de optimización para C y C++
- 21. diferencia operador ++ i en C# y C++
- 22. C# y C herencia de clases ++ entremezclando
- 23. Interoperativo nativo de C++ y C#
- 24. Diferencias entre struct en C y C++
- 25. inicialización Unión en C++ y C
- 26. Función clrscr en C y C++
- 27. Estructuras anidadas en C y C++
- 28. Encabezados precompilados con C y C mixtos
- 29. Depurador C# independiente y ligero C#
- 30. Resolviendo typedefs en C y C++
http://cplusplus.com/reference/iostream/ios/fail/ – BoBTFish
@Jake ¿Leyó la documentación? –