Книга: Разработка приложений в среде Linux. Второе издание
11.2.2. Закрытие файлов
11.2.2. Закрытие файлов
Одной из операций, которые одинаковы для файлов всех типов, является закрытие файла. Ниже показано, как закрыть файл.
#include <unistd.h>
int close(int fd);
Очевидно, что это базовая операция. Однако есть один важный момент, касающийся закрытия файлов, о котором следует помнить — она может завершиться сбоем. Некоторые системы (в первую очередь, следует вспомнить сетевые файловые системы вроде NFS) не пытаются поместить последнюю порцию записываемых данных в файл до тех пор, пока он не будет закрыт. Если такая операция вызовет сбой (например, по причине недоступности удаленного хоста), то close()
вернет ошибку. Если ваше приложение пишет данные, но не синхронизирует записи (см. обсуждение O_SYNC
в следующем разделе), то вы всегда должны проверять результат закрытия файла. Если close()
дает сбой, то это значит, что обновленный файл поврежден самым непредсказуемым образом! К счастью подобное случается достаточно редко.
- 11.5. Закрытие месяца
- 6.1.6. Отображение файлов
- 4.4.2. Открытие и закрытие файлов
- 4.4.2.1. Отображение переменных FILE* на дескрипторы файлов
- 4.4.2.2. Закрытие всех открытых файлов
- Файловые дескрипторы
- Операции открытия, чтения, записи и закрытияфайлов
- Закрытие файла
- Отключение и закрытие сокетов
- Официальное закрытие этапа Концептуального проектирования
- Закрытие файлов
- Закрытие открытых файлов