Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
 Аватар для Mayonez
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874

потоки

11.02.2011, 16:37. Показов 1266. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1----------------------------------------------------------------------------------------------------------
Можно ли перенаправить потоки cin/cout для ввода/вывода из файла?
2----------------------------------------------------------------------------------------------------------
Что здесь не так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <fstream>
#include <iostream>
 
using namespace std;
 
int main()
{
   fstream file;
   file.open( "input.dat" );
   short   B;
   file >> B;
   for (short i = 0; i < B; i++)
   {
      short   P;
      file >> P;
      
      for (short j = 0; j < P; j++)
      {
            short a, b;
            file >> a >> b;
            cout << a << " " << b << endl;
      }
      
      for (short j = 0; j < P; j++)
      {
            short a, b;
            file >> a >> b;
            cout << a << " " << b << endl;
      }
   }
 
   return 0;
}
не работает так, как нужно, например, для файла:
2
2
1 1
3 5
4 10
2 2
1
1 1
2 2

???
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.02.2011, 16:37
Ответы с готовыми решениями:

Что такое потоки ввода, потоки вывода?
Здарова всем! Не так давно уже прогаю на С++ и все НИКАК не могу понять, что такое потоки ввода, потоки вывода..! вот допустим...

потоки
Здравствуйте. Есть форма, на которой есть два объекта Button. При нажатии на каждый выполняется умножение 2 функции и в 2 объекта Label...

потоки
Можно ли както вызывать одну функцию , передавая разные параметры , в разных потоках(_beginthread) одновременно? (Например передавать...

5
 Аватар для igorrr37
2895 / 2042 / 992
Регистрация: 21.12.2010
Сообщений: 3,791
Записей в блоге: 9
11.02.2011, 17:21
1. вот такой способ есть
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <fstream>
using namespace std;
 
int main(){
    fstream fs("text.txt", ios::out);
    streambuf *fbuf=fs.rdbuf();
    streambuf *sbuf=cout.rdbuf(fbuf);
    cout<<"Into file";
    cout.rdbuf(sbuf);
    fs.close();
    fs.open("text.txt");
    fbuf=fs.rdbuf();
    sbuf=cin.rdbuf(fbuf);
    string s;
    getline(cin, s);
    cin.rdbuf(sbuf);
    fs.close();
    cout<<s;
}
1
Эксперт С++
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
11.02.2011, 17:29
1. Возможно также через freopen соответствующим перенаправлением stdin,stdout

C++
1
2
3
freopen("in.txt","w",stdout);
cout << "bla-bla";
cout.flush();
1
 Аватар для Mayonez
392 / 284 / 53
Регистрация: 26.12.2009
Сообщений: 874
11.02.2011, 22:36  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <fstream>
#include <iostream>
 
using namespace std;
 
int main()
{
   fstream file;
   file.open( "input.dat" );
   short   B;
   file >> B;
   for (short i = 0; i < B; i++)
   {
      short   P;
      file >> P;
      
      for (short j = 0; j < P; j++)
      {
            short a, b;
            file >> a >> b;
            cout << a << " " << b << endl;
      }
      
      for (short j = 0; j < P; j++)
      {
            short a, b;
            file >> a >> b;
            cout << a << " " << b << endl;
      }
   }
 
   return 0;
}
почему не работает как нужно?
0
 Аватар для dr.curse
404 / 360 / 36
Регистрация: 11.10.2010
Сообщений: 1,907
11.02.2011, 22:59
Цитата Сообщение от Mayonez Посмотреть сообщение
1----------------------------------------------------------------------------------------------------------
Можно ли перенаправить потоки cin/cout для ввода/вывода из файла?
Я так делаю
C++
1
2
3
4
5
6
7
#include <fstream>
int main()
{
      ifstream cin("filename");
      ofstream cout("filename");
      return 0;
}
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
11.02.2011, 23:13
aram_gyumri, это не перенаправление, просто локальные потоки будут маскировать глобальные
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.02.2011, 23:13
Помогаю со студенческими работами здесь

Потоки
Помогите,пожалуйста!Написать программу, которая считывает текст из файла и выводит на экран только предложения, начинающиеся с тире, перед...

Потоки
Пару вопросов про потоки... 1. Открывается поток, в нем запускается еще один... потоки отсоединяются, как закрыть дочерний поток когда...

Потоки
В процессе выполнения задачи возникла проблема чтения объектов из потока и сохранения их в массив: cout &lt;&lt; &quot;Rasstojanie =...

Потоки
Программа порождает два потока, один генерирует матрицу, которая через именованный канал передаётся другому потоку, выводящему её на экран....

Потоки
Здравствуйте. Изначально код моей программы выглядел примерно так void Thread( void* pParams ) { //Код } void Thread1(...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru