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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
FanAizu
0 / 0 / 0
Регистрация: 14.01.2011
Сообщений: 31
#1

stdin, stdout, stderror - C++

15.01.2011, 20:27. Просмотров 1879. Ответов 4
Метки нет (Все метки)

Эти три файловых дискриптора, получаемые программами при запуске они указывают на реальные файлы, который файловая система создает? Когда я связываю 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
C++ си, чтение строки из stdin с пробелами
fflush(stdin) C++
Чтение из stdin и запись в stdout бинарной информации C++
Перехват stdout графического приложения C++
C++ stdin
C++ std::fflush(stdin);
C++ Чтение UNICODE символов из STDOUT процесса
C++ Библиотека stdin

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
 Аватар для Байт
15043 / 9445 / 1383
Регистрация: 24.12.2010
Сообщений: 17,477
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
1152 / 957 / 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
Ответ Создать тему
Опции темы

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