Что может быть причиной случайного «Отказано в доступе» при использовании std :: ofstream? - PullRequest
0 голосов
/ 02 октября 2019

У меня есть метод, который читает два файла изображения, объединяет их в новый файл изображения и, наконец, удаляет два файла объединенного изображения. Этот метод вызывается, чтобы выполнить эту обработку сотни раз для различных файлов изображений.

Этот процесс объединения и сохранения работает хорошо, но в некоторых случаях я получаю «Отказано в доступе» при попытке сохранить объединенное изображение. Следующий фрагмент кода показывает, как я тестирую эту ошибку.

std::ofstream outfile(file, std::ofstream::binary);
if (!outfile.good())
{
    LOGE("Failed to open new file! %s", strerror(errno));
    error = ERROR_FILE_OPEN_FAILED;
}

Почему это может быть? Возможно ли, что эта ошибка возникает, когда несколько потоков используют файл ввода-вывода?

...