Tratamento de erros no std :: ofstream ao gravar dados
Eu tenho um pequeno programa em que inicializo uma string e escrevo em um fluxo de arquivos:
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
std::ofstream ofs(file.c_str());
string s="Hello how are you";
if(ofs)
ofs<<s;
if(!ofs)
{
cout<<"Writing to file failed"<<endl;
}
return 0;
}
Meu espaço em disco é muito menor e a declaração "ofs <"falha. Portanto, eu sei que isso é um erro logicamente.
A declaração"se (! ofs)" não encontrar o problema acima, portanto, não consigo saber por que ele falhou.
Por favor, diga-me, por quais outras opções eu seria capaz de saber que"ofs < falhou.
Desde já, obrigado.