Форум программистов, компьютерный форум CyberForum.ru

stdin, stdout, stderror - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
FanAizu
0 / 0 / 0
Регистрация: 14.01.2011
Сообщений: 31
15.01.2011, 20:27     stdin, stdout, stderror #1
Эти три файловых дискриптора, получаемые программами при запуске они указывают на реальные файлы, который файловая система создает? Когда я связываю stdin одной программы с stdout другой программы, то происходит следующее одна программа пишет в файл, а другая считывает данные из этого же файла, всё верно?

Еще хотел бы спросить про консоль. Консоль слушает клавиатуру. Когда я запускаю программу из консоли, то консоль продолжает слушать клавиатуру? То есть с этого момента всё, что я ввожу с клавиатуры консоль перенаправляет в stdin запущенной программы, все верно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2011, 20:27     stdin, stdout, stderror
Посмотрите здесь:

C++ Опять про fflush, уже stdout
if (feof(stdin)) while(!feo(stdin)) while(!feof(stdin) ) C++
Поток stdin C++
C++ Перенаправление потока stdout
Чтение из stdin и запись в stdout бинарной информации C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
 Аватар для Байт
13973 / 8804 / 1227
Регистрация: 24.12.2010
Сообщений: 15,949
15.01.2011, 20:54     stdin, stdout, stderror #2
Цитата Сообщение от FanAizu Посмотреть сообщение
Эти три файловых дискриптора, получаемые программами при запуске они указывают на реальные файлы, который файловая система создает? Когда я связываю stdin одной программы с stdout другой программы, то происходит следующее одна программа пишет в файл, а другая считывает данные из этого же файла, всё верно?
Что ты имеешь в виду под "связываю" ?
Конвейер? И где идет работа? Windows, DOS, Linux/Unix ? Вообще-то все это идеи Unix-а, а ДОС (и винда,
соответственно кое-как их поддерживают.

Еще хотел бы спросить про консоль. Консоль слушает клавиатуру. Когда я запускаю программу из консоли, то консоль продолжает слушать клавиатуру? То есть с этого момента всё, что я ввожу с клавиатуры консоль перенаправляет в stdin запущенной программы, все верно?
ВЕРНО. АМИНЬ.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
15.01.2011, 21:48     stdin, stdout, stderror #3
Цитата Сообщение от Байт Посмотреть сообщение
Что ты имеешь в виду под "связываю" ?
че нить типо создает 2 процесса и потом через execl запускает эти проги последовательно
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
15.01.2011, 22:15     stdin, stdout, stderror #4
Цитата Сообщение от sandye51 Посмотреть сообщение
че нить типо создает 2 процесса и потом через execl запускает эти проги последовательно
Пример этого "связывания" показать не хочешь ли?
Вообще-то для каждого процесса свои stdin, stdout.
В никсах есть специальные системные вызовы: dup, pipe (точно сейчас не помню).
Как это делается в винде - не знаю. Но ИМХО, не все так просто
sandye51
15.01.2011, 22:32     stdin, stdout, stderror
  #5

Не по теме:

Day, мне это связывание вообще не надо, вопросы к автору темы)

Yandex
Объявления
15.01.2011, 22:32     stdin, stdout, stderror
Ответ Создать тему
Опции темы

Текущее время: 21:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru