Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> потоки ввода/вывода 
:(
    Опции темы
hoz
Дата 28.6.2013, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 27.6.2013

Репутация: нет
Всего: нет



Цитата(cutwater @  10.7.2008,  03:25 Найти цитируемый пост)
msdn либо man в рукиhttp://ru.wikipedia.org/wiki/Iostreamссылки есть, все есть..

Читаю документацию. Затрудняюсь понять вот изначально строки:
Цитата

ostream — заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++.

Организация ввода/вывода ... Т.е. откуда и куда?
Я так понимаю, весь код который написан и скомпилирован, он так сказать работает и исполняет своё задание. А чтобы он попал куда-нибудь " вне " нужно использовать эту библиотеку? Без данной библиотеки код не сможет попасть в какой-нибудь буфер? И дальше самого написаного кода результат его не уйдёт? Я верно понимаю?

Это сообщение отредактировал(а) hoz - 3.7.2013, 14:57
PM MAIL   Вверх
fish9370
Дата 28.6.2013, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 1
Всего: 1



Цитата(hoz @  28.6.2013,  14:56 Найти цитируемый пост)
Я так понимаю, весь код который написано и скомпилирован, он так сказать работает и исполняет своё задание. А чтобы он попал куда-нибудь " вне " нужно использовать эту библиотеку? Без данной библиотеки код не сможет попасть в какой-нибудь буфер? И дальше самого написаного кода результат его не уйдёт? Я верно понимаю?


эта библиотека обертка над системными вызовами операционной системы.. другими словами взаимодействие между процессом и файлом производится операционной системой.. эта библиотелка лишь обеспечивает один из возможных способов обращения.. по сути ostream и fprintf это одно и тоже они оба в глубине своей обратятся к системному вызову write (в юникс-системе).

в С++ принято использовать этот механизм


--------------------
undefined
PM MAIL WWW ICQ   Вверх
hoz
Дата 28.6.2013, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 27.6.2013

Репутация: нет
Всего: нет



Цитата(fish9370 @  28.6.2013,  15:22 Найти цитируемый пост)
эта библиотека обертка над системными вызовами операционной системы.. другими словами взаимодействие между процессом и файлом производится операционной системой.. эта библиотелка лишь обеспечивает один из возможных способов обращения.. по сути ostream и fprintf это одно и тоже они оба в глубине своей обратятся к системному вызову write (в юникс-системе).в С++ принято использовать этот механизм

Т.е. в каждой операционной системе есть своя библиотека для канкретных целей?  iostream для взаимодействия с файлами (только с файлами или ещё что-то ? ). Ну а для других целей подключаются другие библиотеки, так?
PM MAIL   Вверх
fish9370
Дата 28.6.2013, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 1
Всего: 1



Цитата(hoz @  28.6.2013,  15:45 Найти цитируемый пост)
Т.е. в каждой операционной системе есть своя библиотека для канкретных целей?  iostream для взаимодействия с файлами (только с файлами или ещё что-то ? ). Ну а для других целей подключаются другие библиотеки, так?


не совсем верно, разработчики библиотеки позаботились о том, чтобы этот класс работал во всех стандартных ОС.. он входит в состав, так называемой стандартной библиотеки (std).

в юниксе есть такое понятие - все есть файл (не придерайтесь).. т.е. взаимодействие с внешними системами производится посредством одних и тех же сущностей - файловых дескрипторов.. межпроцессное взаимодействие, работа с файлами, работа с сетью..

другие библиотеки конечно существуют, любой программист может написать свою обертку над write, fwrite или даже над ostream.. для других целей есть свои библиотеки, в одном проекте их может быть множество..

Это сообщение отредактировал(а) fish9370 - 28.6.2013, 18:13


--------------------
undefined
PM MAIL WWW ICQ   Вверх
bsa
Дата 28.6.2013, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



hoz, iostream - это стандартная библиотека ввода/вывода. Она есть во всех ОС, в которых поддерживается С++.

Как правильно заметил fish9370, эта библиотека, равно как и stdio, просто обертка вокруг системных вызовов осуществляющих запись. Кроме того, iostream предоставляет интерфейс (читай стандарт) для создания своих потоков ввода/вывода (например, последовательный порт).

Естественно, что для разных целей есть разные библиотеки. Думаю, логично, что для работы с изображениями нужна одна библиотека, для работы с сетью другая, а для создания 3Д сцен - четвертая. И так далее.
Есть такая вещь, называется "фреймворк". Это набор библиотек, который покрывает какую-то сферу деятельности. Например, Qt облегчает разработку типичных прикладных программ, преимущественно с графическим интерфейсом. А boost - разработка в основном консольных приложений, в т.ч. и серверов (демонов).
PM   Вверх
hoz
Дата 3.7.2013, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 27.6.2013

Репутация: нет
Всего: нет



Цитата(bsa @  28.6.2013,  16:02 Найти цитируемый пост)
hoz, iostream - это стандартная библиотека ввода/вывода. Она есть во всех ОС, в которых поддерживается С++.

Тогда почему в документации сказано, что:
Цитата

iostream — заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++
 ?


Это сообщение отредактировал(а) hoz - 3.7.2013, 16:14
PM MAIL   Вверх
bsa
Дата 3.7.2013, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



потому что iostream - это библиотека, хидер и название класса (наследник istream и ostream). Одно другому не противоречит. Просто "библиотека" понятие более широкое, чем класс и хидер. Так как она содержит хидер, определяющий класс.

Добавлено через 3 минуты и 41 секунду
кстати, в самом стандарте библиотека называется "Input / Output Library". Но чтобы было понятно другим, обычно ее называют iostream(s).
PM   Вверх
hoz
Дата 4.7.2013, 08:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 27.6.2013

Репутация: нет
Всего: нет



 Под "хидером" Вы подразумеваете заголовочный файл от англ. header ?


PM MAIL   Вверх
bsa
Дата 4.7.2013, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



hoz, в обычной речи его всегда так называют.
PM   Вверх
fish9370
Дата 4.7.2013, 12:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 1
Всего: 1



Цитата(bsa @  4.7.2013,  10:16 Найти цитируемый пост)
hoz, в обычной речи его всегда так называют


некоторые его называют согласно английскому произношению хЭдер.. smile


--------------------
undefined
PM MAIL WWW ICQ   Вверх
hoz
Дата 4.7.2013, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 27.6.2013

Репутация: нет
Всего: нет



Цитата(bsa @  28.6.2013,  16:02 Найти цитируемый пост)
hoz, iostream - это стандартная библиотека ввода/вывода. Она есть во всех ОС, в которых поддерживается С++.


Цитата(bsa @  28.6.2013,  16:02 Найти цитируемый пост)
равно как и stdio, просто обертка вокруг системных вызовов осуществляющих запись. Кроме того, iostream предоставляет интерфейс (читай стандарт) для создания своих потоков ввода/вывода (например, последовательный порт).


bsa, больше всего мне, на данный непонятно вот что: начав капаться в файлах-заголовках и файлах-библиотеках я увидел много файлов, с, казалось бы, идентичной задачей. Я поясню:
Возьмём например iostream и stdio. Оба заголовочных файла служат для реализации задачи ввода/вывода (input/output). Откуда знать программисту, какой из них использовать для этой задачи в своём коде?


Цитата(fish9370 @  4.7.2013,  12:35 Найти цитируемый пост)
некоторые его называют согласно английскому произношению хЭдер.. 


fish9370, вот я потому и переспросил, т.к. произносится то через "э", если уж быть точным. А тут разговорный видать..

Это сообщение отредактировал(а) hoz - 4.7.2013, 14:29
PM MAIL   Вверх
fish9370
Дата 4.7.2013, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 1
Всего: 1



Цитата(hoz @  4.7.2013,  14:21 Найти цитируемый пост)
А тут разговорный видать..


скорее ошибочный, надеюсь люди будут потихоньку исправляться, а то слух режет.. smile

Добавлено через 10 минут и 10 секунд
Цитата(hoz @  4.7.2013,  14:21 Найти цитируемый пост)
Возьмём например iostream и stdio. Оба заголовочных файла служат для реализации задачи ввода/вывода (input/output). Откуда знать программисту, какой из них использовать для этой задачи в своём коде?



с этим все просто, stdio это наследие Си, iostream это Си++

у Сишника нет такого выбора, Сиплюсплюсник, чаще возьмет iostream ради объектноориентированности


--------------------
undefined
PM MAIL WWW ICQ   Вверх
bsa
Дата 4.7.2013, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(hoz @  4.7.2013,  15:21 Найти цитируемый пост)
bsa, больше всего мне, на данный непонятно вот что: начав капаться в файлах-заголовках и файлах-библиотеках я увидел много файлов, с, казалось бы, идентичной задачей.
А может не надо копаться? Может стоит почитать учебники? Просто за то время, что ты тусуешься в этой теме давно можно было прочитать тех же Дейтейлов.
PM   Вверх
hoz
Дата 4.7.2013, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 27.6.2013

Репутация: нет
Всего: нет



Цитата(bsa @  4.7.2013,  17:17 Найти цитируемый пост)
А может не надо копаться? Может стоит почитать учебники? Просто за то время, что ты тусуешься в этой теме давно можно было прочитать тех же Дейтейлов.

Изначально я начал читать "Джесс Либерти. Освой самостоятельно С++ за 21 день". Но там приводятся такие примеры, которые сразу не понятны, т.к. библиотеки, которые приводятся и используются в примерах не обоснованы и не объясняется почему их применяют.
 Попробую почитать тогда "Дейтел Х. Как программировать на C++". Надеюсь это даст более детальное понимаю. Я и сам хочу почитать, а не спрашивать всё в подряд, но литературы много, а с чего лучше начать - затрудняюсь. Хочется читать, и понимаю последовательно что читаю, а не откладывать всё непонятное встречаемое на пути на потом.

Это сообщение отредактировал(а) hoz - 4.7.2013, 17:33
PM MAIL   Вверх
bsa
Дата 5.7.2013, 09:56 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



В этом разделе прикреплена тема с ответами на часто задаваемые вопросы. там есть список литературы для новичков.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0563 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.