Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Что же такое stdin  (Прочитано 2116 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Boriska
Постоялец

ua
Offline Offline

« : 17-04-2015 14:26 » 

Привет форумчане.++++-
О stdin, stdout много написано но особо ничего не понятно.
Некий поток к которому подключена то ли консоль то ли клава......
Встретил на просторах инета что данные отправленные методом POST
можно прочесть из stdin. Попробовал точно - работает. Следовательно
потоки это принадлежность ОСи и средство коммуникации между приложенями.
Так что же такое стандартные потоки если углубленно ?
Записан
LemmonRus
Помогающий

ru
Offline Offline
В правильно заданном вопросе 90% ответа.


« Ответ #1 : 17-04-2015 14:47 » 

Надо учесть еще что stdin работает так же и с файлами и разнообразными портами. RTFM
В общем это часть операционной системы (практически во всех операционных системах она в наличии) которая отвечает за прием данных из указанного источника.
Она по определению выше драйвера устройства.Но ниже пользовательского уровня.
Хорошая статья про это дело http://wasm.ru/wault/article/show/easycgi
« Последнее редактирование: 17-04-2015 14:51 от LemmonRus » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 17-04-2015 18:04 » 

Традиционно у процесса есть три, уже открытых на момент запуска, файловых хендла: стандартный ввод, стандартный вывод и стандартный вывод для ошибок. Физически эти хендлы могут быть соединены с чем угодно, поддерживающим файловый IO: файлы, консоль, сокеты, межпроцессные потоки и т.д. Также эти хендлы могут быть закрыты или отсутствовать - в зависимости от ОС. Для винды стоит почитать в MSDN CreateProcess. Для POSIX-совместимых ОС это файлы с номерами 0, 1 и 2 соответственно.

В упомянутом CGI stdin подключен к сокету или межпроцессному потоку и используется для приема тела HTTP запроса в методах POST и PUT, а stdout аналогично - сокет или межпроцессный поток, и используется для вывода заголовка и тела HTTP.

Если говорим о стандартной библиотеке Си, то идентификаторы stdin, stdout и stderr - это указатели на структуры тира FILE, изначально ассоциированные с вышеупомянутыми хендлами, но их можно переназначить.

Если говорим о стандартной библиотеке C++, то там есть идентификаторы cin, cout и cerr - объекты типов istream и ostream.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Boriska
Постоялец

ua
Offline Offline

« Ответ #3 : 18-04-2015 10:14 » 

Спсб. Для начала хватит, почитаю. 
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines