Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
389 / 281 / 53
Регистрация: 26.12.2009
Сообщений: 875
1

потоки

11.02.2011, 16:37. Просмотров 972. Ответов 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2011, 16:37
Ответы с готовыми решениями:

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

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

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

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

5
2207 / 1717 / 858
Регистрация: 21.12.2010
Сообщений: 3,053
Записей в блоге: 11
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;
}
1
Эксперт С++
623 / 467 / 57
Регистрация: 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();
1
389 / 281 / 53
Регистрация: 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;
}
почему не работает как нужно?
0
397 / 353 / 36
Регистрация: 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;
}
0
бжни
2469 / 1679 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
11.02.2011, 23:13 6
aram_gyumri, это не перенаправление, просто локальные потоки будут маскировать глобальные
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2011, 23:13

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Потоки
В процессе выполнения задачи возникла проблема чтения объектов из потока и сохранения их в массив:...

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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