La détection de raison de l'échec à ouvrir un ofstream quand fail() est vrai
Semble que cela devrait être simple, mais je ne trouve pas de net à la recherche.
J'ai un ofstream qui est open()
, et fail()
est maintenant vrai. J'aimerais savoir la raison de l'échec à les ouvrir, avec errno
je ne sys_errlist[errno]
.
Vous devez vous connecter pour publier un commentaire.
Malheureusement, il n'y a pas moyen de savoir exactement pourquoi ouvrir() a échoué. Notez que sys_errlist n'est pas standard C++ (ou C Standard, je crois).
La strerror fonction de
<cstring>
pourrait être utile. Ce n'est pas nécessairement la norme ou portable, mais il fonctionne bien pour moi à l'aide de GCC sur une Ubuntu boîte:Ce est portable, mais ne semble pas donner des infos utiles:
nous n'avons pas besoin d'utiliser std::fstream, nous utiliser boost::iostream