Ввод-вывод с использованием потоковых классов. Файловые дескрипторы

   
На этом шаге мы приведем сведения об особенности спользования файловых дескрипторов.

   
Некоторые реализации позволяют присоединить поток данных к ранее открытому каналу ввода-вывода. Для этого файловый поток данных инициализируется
файловым дескриптором.

   
Файловый дескриптор представляет собой целое число, идентифицирующее открытый канал ввода-вывода. В системах семейства UNIX файловые
дескрипторы используются в низкоуровневом интерфейсе с функциями ввода-вывода операционной системы. Определены три стандартных файловых
дескриптора:

  • 0 - стандартный канал ввода;
  • 1 - стандартный канал вывода;
  • 2 - стандартный канал вывода ошибок.

   
Каналы могут связываться с файлами, консолью, процессами или другими средствами ввода-вывода.

   
К сожалению, стандартная библиотека C++ не поддерживает присоединение потоков данных к каналам ввода-вывода при помощи файловых
дескрипторов. Это объясняется тем, что проектировщики стремились обеспечить независимость от конкретных особенностей операционных систем.
Впрочем, на практике такая возможность существует, а ее единственный недостаток - влияние на переносимость программ. На сегодняшний день в
стандартах интерфейсов операционных систем (таких, как POSIX или X/OPEN) не существует такой спецификации, причем ее
разработка даже не планируется.

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

   
Со следующего шага мы начнем рассматривать связывание потоков вода-вывода.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий