Mam mały program, w którym zainicjować ciąg i zapisu do pliku stream:Błąd std :: ofstream podczas zapisywania danych
#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;
}
Moje miejsca na dysku jest bardzo mniej, a stwierdzenie "OFS < "zawiedzie. Więc wiem, że jest to błąd logicznie.
Oświadczenie "if (! Ofs)" nie napotkał powyższego problemu, dlatego nie jestem w stanie stwierdzić, dlaczego się nie udało.
Proszę mi powiedzieć, o jakie inne opcje będę mógł wiedzieć, że „OFS < nie powiodło się.
góry dziękuję.
Czy sprawdziłeś, że 'ofstream' jest rzeczywiście otwarty przed próbą' z < – emlai
@zenith: Zmieniono to –
'ofstream :: operator <<' zmodyfikuje wewnętrzne flagi stanu, jeśli się nie powiedzie. Czy sprawdziłeś 'ofstream :: eof' /' bad'/'fail'? – emlai