4.4.2.1. Отображение переменных FILE* на дескрипторы файлов

4.4.2.1. Отображение переменных FILE* на дескрипторы файлов

Стандартные библиотечные функции ввода/вывода и переменные FILE* из <stdio.h>, такие, как stdin, stdout и stderr, построены поверх основанных на дескрипторах файлов системных вызовах.

Иногда полезно получить непосредственный доступ к дескриптору файла, связанному с указателем файла <stdio.h>, если вам нужно сделать что-либо, не определенное стандартом С ISO. Функция fileno() возвращает лежащий в основе дескриптор файла:

#include <stdio.h> /* POSIX */

int fileno(FILE *stream);

Пример мы увидим позже, в разделе 4.4.4. «Пример: Unix cat».

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

ГЛАВА 5 Управление памятью, отображение файлов и библиотеки DLL

Из книги автора

ГЛАВА 5 Управление памятью, отображение файлов и библиотеки DLL Управление динамической памятью в той или иной форме требуется в большинстве программ. Необходимость в этом возникает всякий раз, когда требуется создавать структуры данных, размер которых не может быть


Отображение файлов

Из книги автора

Отображение файлов Динамическая память, распределенная в кучах, должна физически размещаться в файле подкачки. Управление перемещением страниц между физической памятью и файлом подкачки, а также отображением файла подкачки на виртуальное адресное пространство


Резюме: отображение файлов

Из книги автора

Резюме: отображение файлов Ниже приведена стандартная последовательность действий, которые необходимо выполнять, если используется отображение файлов:1. Откройте файл. Убедитесь в том, что он имеет права доступа GENERIC_READ.2. В случае создания нового файла укажите его


Наследуемые дескрипторы

Из книги автора

Наследуемые дескрипторы Часто бывает так, что дочернему процессу требуется доступ к объекту, к которому можно обратиться через дескриптор, определенный в родительском процессе, и если этот дескриптор — наследуемый, то дочерний процесс может получить копию открытого


11.2.1. Файловые дескрипторы

Из книги автора

11.2.1. Файловые дескрипторы Когда процесс получает доступ к файлу (что обычно называют открытием файла), то ядро возвращает ему файловый дескриптор, который затем используется процессом для всех операций с файлом. Файловые дескрипторы — это маленькие положительные целые


Индексные дескрипторы

Из книги автора

Индексные дескрипторы Индексный дескриптор, или inode, содержит информацию о файле, необходимую для обработки данных, т.е. метаданные файла. Каждый файл ассоциирован с одним inode, хотя может иметь несколько имен в файловой системе, каждое из которых указывает на один и тот же


Файловые дескрипторы

Из книги автора

Файловые дескрипторы Файловый дескриптор представляет собой неотрицательное целое число, возвращаемое системными вызовами, такими как creat(2), open(2) или pipe(2). После получения файлового дескриптора процесс может использовать его для дальнейшей работы с файлом, например с


(8.11) После подключения дополнительного жесткого диска W2k перестал загружаться. После ввода пароля говорит, что "your system has no paging file, or the paging file is too small" и снова выдает окно логона. Что делать?

Из книги автора

(8.11) После подключения дополнительного жесткого диска W2k перестал загружаться. После ввода пароля говорит, что "your system has no paging file, or the paging file is too small" и снова выдает окно логона. Что делать? Данная проблема появляется, если буква загрузочного раздела не совпадает с буквой,


6.1.6. Отображение файлов

Из книги автора

6.1.6. Отображение файлов В Linux и Windows используются разные правила именования файлов. Например, в Linux названия чувствительны к регистру, а в Windows — нет. Это значит, что файлы DATA.TXT и data.txt в Windows будут восприняты, как один и тот же файл. Для решения этой проблемы есть несколько


16.3. Индексные дескрипторы файлов

Из книги автора

16.3. Индексные дескрипторы файлов Каждому файлу на диске соответствует один и только один индексный дескриптор файла, который идентифицируется своим порядковым номером - индексом файла. Это означает, что число файлов, которые могут быть созданы в файловой системе,


5.3. Отображение файлов в памяти

Из книги автора

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


7.2.5. Дескрипторы файлов процесса

Из книги автора

7.2.5. Дескрипторы файлов процесса Элемент fd файловой системы /proc — это подкаталог, в котором содержатся записи обо всех файлах, открытых процессом. Каждая запись представляет собой символическую ссылку на файл или устройство. Через эти ссылки можно осуществлять чтение и


14.2.3. Отображение значений всех переменных интерпретатора shell

Из книги автора

14.2.3. Отображение значений всех переменных интерпретатора shell Чтобы просмотреть значения всех переменных интерпретатора shell, достаточно воспользоваться командой set.$ setPWD=/rootSHELL=/bin/shSHLVL=1TERM=vt100UID=7USER=davedollar=99great_picture=die hard last_file=ZLPSO.txtВывод команды set может быть довольно обширен;


14.3.2. Отображение значений переменных среды

Из книги автора

14.3.2. Отображение значений переменных среды Отображение значений переменных среды выполняется так же, как и в случае с переменными интерпретатора shell. Ниже приведено несколько примеров.$ CONSOLE=tty1; export CONSOLE $ echo $CONSOLEtty1$ MYAPPS=/usr/local/application; export MYAPPS $ echo $MYAPPS /usr/local/applicationЧтобы