Главная » 2016 » Март » 28 » Значения ошибок win
12:10
Значения ошибок win
Очень часто в программах не проверяют возвращаемое значение вызова c lo se ( ).Если не выполнить такую проверку, то можно пропустить критическое условиеошибки, так как ошибки, связанные с отложенными операциями, могут не проявлятьсядовольно долго, а при помощи closeO их вполне можно отлавливать.Существует несколько возможных значений переменной еггпо, возвращаемыхв случае ошибки. Помимо EBADF (данный дескриптор файла недопустим),наиболее важное значение ошибки — это ЕЮ, указывающее на низкоуровневуюошибку ввода-вывода, возможно, не связанную с фактической операцией закрытия.Независимо от того, какая ошибка возвращается, дескриптор файла,если он допустим, всегда закрывается, а связанные с ним структуры данныхосвобождаются.Хотя POSIX допускает это, вызов closeO никогда не возвращает значениеEINTR. Разработчики ядра Linux лучше знают, что такая реализация не блещетсмыслом.Поиск за пределами конца файлаВызов lseekO можно применять также для перемещения указателя файла запределы файла. Например, следующий код переносит указатель на 1688 байтдальше, чем находится конец файла, соответствующий дескриптору fd:i n t ret .ret = lseek (fd. (of f_t ) 1688. SEFKJND) .i f (ret.
Просмотров: 418 | Добавил: admin | Рейтинг: 0.0/0
Всего комментариев: 0
avatar