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

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

Войти
Регистрация
Восстановить пароль
 
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
#1

потоки - C++

11.02.2011, 16:37. Просмотров 851. Ответов 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

???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2011, 16:37     потоки
Посмотрите здесь:

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

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

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

Потоки с++ - C++
Как средствами с++ реализовать параллельную работу с документами? Т.е. чтобы можно было одновременно работать с несколькими файлами (искать...

Потоки - C++
Здравствуйте, помогите пожалуйста преподаватель сказал нужно добавить код в третьем потоке(thread3), чтобы событие не происходила пока не...

потоки с++ - C++
добрый вечер !нужно проверить мою программу с потоками. переделала, но что-то не так( закомменченная программа, моя на основе которой...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
1644 / 1272 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
11.02.2011, 17:21     потоки #2
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;
}
Ma3a
Эксперт C++
616 / 460 / 31
Регистрация: 28.01.2011
Сообщений: 605
11.02.2011, 17:29     потоки #3
1. Возможно также через freopen соответствующим перенаправлением stdin,stdout

C++
1
2
3
freopen("in.txt","w",stdout);
cout << "bla-bla";
cout.flush();
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
11.02.2011, 22:36  [ТС]     потоки #4
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;
}
почему не работает как нужно?
dr.curse
387 / 343 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
11.02.2011, 22:59     потоки #5
Цитата Сообщение от Mayonez Посмотреть сообщение
1----------------------------------------------------------------------------------------------------------
Можно ли перенаправить потоки cin/cout для ввода/вывода из файла?
Я так делаю
C++
1
2
3
4
5
6
7
#include <fstream>
int main()
{
      ifstream cin("filename");
      ofstream cout("filename");
      return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2011, 23:13     потоки
Еще ссылки по теме:

потоки.. - C++
Доброго всем времени суток. При написании программы я столкнулся с проблемой, решение которой, по словам друзей, лежит в потоках. проблема...

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

Потоки - C++
Есть 2 потока: main_thread и thread Как из main_thread завершить thread?

Потоки с++11 - C++
Подскажите, где почитать про потоки в новом стандарте плюсов

VC, потоки. - C++
Вот что я написал: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;afxwin.h&gt; UINT myproc1 (LPVOID pParam) { return 0; } ...

Потоки - C++
Я нашел в интернете отличную статью про потоки и многопоточность и на её основе написал следующую программу: #include &quot;stdafx.h&quot; ...


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

Или воспользуйтесь поиском по форуму:
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
11.02.2011, 23:13     потоки #6
aram_gyumri, это не перенаправление, просто локальные потоки будут маскировать глобальные
Yandex
Объявления
11.02.2011, 23:13     потоки
Ответ Создать тему
Опции темы

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