Estoy probando try, catch, throw statements en C++ para el manejo de archivos, y he escrito un código ficticio para detectar todos los errores. Mi pregunta es para verificar si los tengo bien, necesito que ocurra un error. Ahora puedo verificar fácilmente infile.fail()
simplemente no creando un archivo con el nombre requerido en el directorio. Pero ¿cómo voy a poder verificar lo mismo para outfile.fail()
(outfile
es ofstream
donde como infile
es ifstream
). En ese caso, ¿será verdadero el valor de outfile.fail()
?¿Cuándo fallará ofstream :: open?
código de ejemplo [de los comentarios sobre la respuesta del unapersson, simplificados para hacer más clara -Zack tema]:
#include <fstream>
using std::ofstream;
int main()
{
ofstream outfile;
outfile.open("test.txt");
if (outfile.fail())
// do something......
else
// do something else.....
return 0;
}
Bueno, solo quiero saber cuándo se revelará outfile.fail(). – Scranton
@Scranton Publica un código. –
# include # include # include # include using namespace std; int main() { string filename = "test.txt"; de archivo externo; outfile.open (filename.c_str()); if (outfile.fail()) hacer algo ...... else hacer otra cosa ..... return 0; } Entonces, ¿cómo puedo obtener la cláusula if ??? –
Scranton