ofstream, когда произойдет сбой вместо создания нового файла?
Я только начал читать о том, как открывать и редактировать файлы. при работе с ifstream, если файл не существует, он не будет создан.
в отношении приведенного ниже кода, когда условие (!outfile) будет ложным, как если бы файл не существовал, он будет просто создан конструктором, следовательно, всегда делая условие ложным.
int main()
{
ofstream outfile ("test1.txt");
if (!outfile)
{
cout << "cannot create file test1.txt" << endl;
return 1;
}
outfile << 10 << " " << 345.12 << endl;
outfile << "This is a short text file";
outfile.close();
system("PAUSE");
return 0;
}
1 ответ
Один из способов открытия ofstream
может произойти сбой, если файл по указанному пути существует, но у вас нет разрешения на запись в него. Кроме того, если файл не существует, но у вас нет разрешения на создание файла по указанному пути, откройте ofstream
также должен потерпеть неудачу.
Другой сбойной ситуацией может быть, если файлы не существуют, а базовое устройство не имеет достаточно свободного места / inode для его создания.