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

Связывание потоков ввода-вывода - C++

Восстановить пароль Регистрация
 
Хулиган
 Аватар для Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
30.07.2013, 18:48     Связывание потоков ввода-вывода #1
C++
1
2
3
4
cin.tie(&cout);
 
cout<<"Enter x: ";
cin>>x;
для чего применяется связывание? а то чтот не доходит
и чем несвязанные потоки отличаются от связанных?
C++
1
2
cout<<"Enter x: ";
cin>>x;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,899
Записей в блоге: 2
Завершенные тесты: 1
30.07.2013, 18:51     Связывание потоков ввода-вывода #2
Где гарантия, что когда будет запрос cin, сообщение "Enter x: " будет выведено на экран?
Связывание приводит к сбросу потока
Хулиган
 Аватар для Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
30.07.2013, 19:17  [ТС]     Связывание потоков ввода-вывода #3
Цитата Сообщение от Croessmah Посмотреть сообщение
Где гарантия, что когда будет запрос cin, сообщение "Enter x: " будет выведено на экран?
а что может помешать?

Добавлено через 20 минут
как я понял связывание используется для совместного использования буфера разными потоками? так? или это уже не в ту степь понесло?
Bend3r
 Аватар для Bend3r
142 / 129 / 17
Регистрация: 29.07.2012
Сообщений: 681
30.07.2013, 19:39     Связывание потоков ввода-вывода #4
Возможно поможет.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,899
Записей в блоге: 2
Завершенные тесты: 1
30.07.2013, 19:50     Связывание потоков ввода-вывода #5
Хулиган, Помешать может буферизация.
_stanislav
26 / 26 / 8
Регистрация: 16.08.2014
Сообщений: 246
Завершенные тесты: 2
23.09.2016, 15:58     Связывание потоков ввода-вывода #6
Croessmah, а как можно проверить на практике, я попробовал с связыванием и без связывание, результат один.

C++
1
2
3
cin.tie(0);
cout << "Password: "; 
cin >> s;
obivan
Падаван С++
 Аватар для obivan
172 / 158 / 41
Регистрация: 11.11.2014
Сообщений: 591
Завершенные тесты: 1
23.09.2016, 16:19     Связывание потоков ввода-вывода #7
_stanislav, это потоки, и с ними проблемы могут возникнуть 1 в 10000000 раз запусков, их отлаживать трудно, просто со связывание вы даете себе гарантию
tranki
0 / 0 / 0
Регистрация: 20.11.2016
Сообщений: 10
24.11.2016, 16:44     Связывание потоков ввода-вывода #8
Здравствуйте!
Хулиган, как с вами можно связаться?
Я хочу спросить у вас о буферизации потоков.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,899
Записей в блоге: 2
Завершенные тесты: 1
24.11.2016, 16:52     Связывание потоков ввода-вывода #9
Цитата Сообщение от tranki Посмотреть сообщение
Хулиган, как с вами можно связаться?
Обсуждение вопросов - только в теме на форуме. Приглашения к обсуждению еще где-либо (в том числе и с помощью системы личных сообщений) запрещены, за исключением коммерческих разделов.
tranki
0 / 0 / 0
Регистрация: 20.11.2016
Сообщений: 10
25.11.2016, 14:08     Связывание потоков ввода-вывода #10
Цитата Сообщение от Croessmah Посмотреть сообщение
Приглашения к обсуждению еще где-либо (в том числе и с помощью системы личных сообщений) запрещены, за исключением коммерческих разделов
Как тут у вас печально всё...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2016, 14:38     Связывание потоков ввода-вывода
Еще ссылки по теме:

Потоки ввода-вывода C++
C++ Итераторы: зачем используется оператор инкремента для потоков вывода?
C++ Поток ввода-вывода

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

Или воспользуйтесь поиском по форуму:
notAll
176 / 65 / 16
Регистрация: 27.05.2016
Сообщений: 182
Завершенные тесты: 2
25.11.2016, 14:38     Связывание потоков ввода-вывода #11
Цитата Сообщение от _stanislav Посмотреть сообщение
а как можно проверить на практике, я попробовал с связыванием и без связывание, результат один
Без связывания, скорее всего выведет "0":
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
    std::ofstream os("test.txt");
    std::ifstream is("test.txt");
    std::string value("0");
 
    //is.tie(&os);
    os << "Hello";
    is >> value;
 
    std::cout << "Result: " << value << "\n";
}
http://melpon.org/wandbox/permlink/iMLhpwsHvh2lqmk4
Yandex
Объявления
25.11.2016, 14:38     Связывание потоков ввода-вывода
Ответ Создать тему
Опции темы

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