QFile / QTextStream не показывает ошибку при удалении файла, записываемого в
Я пишу в QFile, используя QTextStream, и все прекрасно работает. Я пытаюсь создать обнаружение ошибок, поэтому я попытался удалить выходной файл между записями.
Задушить, статус Qtextstream продолжает показывать 0 (без ошибок), а метод ошибок QFile возвращает 0. Тем не менее, файл ушел, а записанный текст теряется... ушел
В чем дело? Как я могу обнаружить сбой записи? Я смотрю на неправильные методы?
1 ответ
Не уверен насчет Windows, но в Linux и большинстве систем типа Unix описанный вами сценарий просто не является ошибкой с точки зрения ОС - вполне законно продолжать запись в файл, который был удален (и это " работает ", данные по-прежнему перетасовываются в / из файловой системы - этот файл все еще находится в файловой системе, пока не будет закрыт последний дескриптор для него).
(Я полагаю, что в Windows вы получите сообщение об ошибке, если попытаетесь удалить файл во время его использования, по крайней мере, если он был открыт в режиме открытия по умолчанию, хотя не уверен на 100%.)
Если вам нужно проверить "файл удален", вам нужно будет написать эти проверки самостоятельно.