crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Фича в стандартной библиотеке С++
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Iron Bug Дата 12.10.2012, 18:28
  да, iostream от fstream существенно отличается, однако :) не о том речь, в общем.
AD Дата 12.10.2012, 15:21
 
Цитата(Litkevich Yuriy @ 12.10.2012, 16:19) *
изначально речь не шла вообще о потоках и прочем, только о объектах файловой системы с произвольным доступом. А ты тему в сторону увёл.

Ну вот теперь я понял, что речь шла о так называемых "обыкновенных файлах", как они названы в вики.

Умный человек подсказал, что в iostream есть возможность работы с PIPE. Вот точная цитата:
Цитата
У Джосаттиса в его The C++ Standard Library 2nd Ed. приведен пример (p.835)
...
хитрожопо, но возможно
....
т.е. технически возможно открыть пайп или сокет, присоединить его к потоку-наследнику istream и читать из него. Но вот возможности отката не будет....
Litkevich Yuriy Дата 12.10.2012, 15:19
  изначально речь не шла вообще о потоках и прочем, только о объектах файловой системы с произвольным доступом. А ты тему в сторону увёл.
AD Дата 12.10.2012, 15:16
 
Цитата(Litkevich Yuriy @ 12.10.2012, 16:14) *
AD, она не про пайпы, а про файлы:
Цитата(Iron Bug @ 10.10.2012, 20:40) *
я не могу представить себе ни одного девайса, который бы хранил "файлы" с однонаправленным доступом.


Еще раз... Если в linux pipe, сокет - это "файлы", то почему их нельзя назвать "файлами" с однонаправленным доступом? Или я не так понял эту фразу про однонаправленность?
Litkevich Yuriy Дата 12.10.2012, 15:16
  AD, она не про пайпы, а про файлы:
Цитата(Iron Bug @ 10.10.2012, 20:40) *
я не могу представить себе ни одного девайса, который бы хранил "файлы" с однонаправленным доступом.



Т.е. если устройство поддерживает понятие файл, то оно поддерживает его в полной мере - читать, писать, создавать и удалять. И доступ к этим файлам произвольный (с любого места в файле)
AD Дата 12.10.2012, 15:02
 
Цитата(Litkevich Yuriy @ 12.10.2012, 15:21) *
Но не ко всем файлам в линухе можно произвольно обращаться

О том и речь, что однонаправленные устройства не являются устаревшим понятием! Разве через iostream нельзя обращаться к PIPE???
Litkevich Yuriy Дата 12.10.2012, 14:21
 
Цитата(AD @ 12.10.2012, 12:03) *
Для Linux PIPE - это такой же файл
да в линухе всё файл. даже диспетчер задач не нужен, зайди в каталог proc. Но не ко всем файлам в линухе можно произвольно обращаться
AD Дата 12.10.2012, 9:03
 
Цитата(Iron Bug @ 12.10.2012, 7:54) *
пайп - это пайп. это не файл. файл - объект с хранением. а пайп - это просто поток данных.
и для пайпов в венде есть отдельные функции. хоть и ракообразные, но есть.

Причем здесь windows? Для Linux PIPE - это такой же файл, как и сокет, кстати. Насколько я знаю указанные "девайсы": сокеты, pipe и являются однонаправленными.
Litkevich Yuriy Дата 12.10.2012, 7:28
  мне помнится, что я на билдере делал кольцевой буфер-файл. И писалось там примитивно - дошёл до края файла, подвинул указатель в начало. Не помню, чтоб я там как-то изголялся.

А в стандарте могли оставить из соображения совместимости, вдруг имеющиеся программы глючить начнут. Стандарты штука тонкая.
Iron Bug Дата 12.10.2012, 6:54
 
Цитата(AD @ 11.10.2012, 13:44) *
А как так называемые pipe

пайп - это пайп. это не файл. файл - объект с хранением. а пайп - это просто поток данных.
и для пайпов в венде есть отдельные функции. хоть и ракообразные, но есть.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.4.2024, 7:59