Четверг, 19.10.2017, 19:13
Приветствую Вас, Гость
Главная » 2014 » Январь » 13 » Значения ошибок win
10:00
Значения ошибок 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. == (of f_t ) 1)/* ошибка */Сам по себе поиск дальше конца файла ничего не дает — запрос на чтениес новой позиции в файле вернет значение EOF. Если же делается запрос на записьс этой новой позиции, то между старым концом файла ц новым фрагментомсоздается новое пространство, которое заполняется нулями.Это заполненное нулями пространство называется дырой (hole). В файловыхсистемах типа Unix дыры не занимают место на диске. Это означает, чтообщий размер всех файлов в файловой системе может превышать физическийразмер диска.
найти автозапчасть
Просмотров: 36336 | Добавил: admin | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: