Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > С/С++
Перезагрузить страницу Как перенаправить стандартный вывод в переменную
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
enki enki вне форума
Новичок
 
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.12.2005
По умолчанию Как перенаправить стандартный вывод в переменную - 08.12.2005, 04:41

Как перенаправить стандартный вывод в переменную?
Ответить с цитированием
  (#2 (permalink)) Старый
Dian Dian вне форума
Member
 
Сообщений: 5,243
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.09.2004
По умолчанию 08.12.2005, 07:12

Что это? По идее поток следует перенаправлять в поток, а не в переменную.
Если нужно что-то ввести - cin...
Ответить с цитированием
  (#3 (permalink)) Старый
Jonano Jonano вне форума
Специалист
 
Аватар для Jonano
 
Сообщений: 3,541
Сказал(а) спасибо: 2
Поблагодарили 14 раз(а) в 14 сообщениях
Регистрация: 19.04.2005
По умолчанию Re: Как перенаправить стандартный вывод в переменную? - 08.12.2005, 13:02

Цитата:
Originally posted by enki
[b]Как перенаправить стандартный вывод в переменную?
Поясни конкретней, что ты хочешь сделать
Ответить с цитированием
  (#4 (permalink)) Старый
enki enki вне форума
Новичок
 
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.12.2005
По умолчанию Re: Как перенаправить стандартный вывод в переменную? - 08.12.2005, 19:15

Цитата:
Originally posted by Jonano+-->
Цитата:
<!--QuoteBegin-enki
Цитата:
[b]Как перенаправить стандартный вывод в переменную?
Поясни конкретней, что ты хочешь сделать
Я хочу перенаправить стандартный вывод в какой-нибудь буфер.
Его по идее можно перенаправить в файл, а потом прочитать его в буфер. И я подумал, что возможно поток можно будет сразу перенаправить в буфер. Это вообще возможно?
Ответить с цитированием
  (#5 (permalink)) Старый
Jonano Jonano вне форума
Специалист
 
Аватар для Jonano
 
Сообщений: 3,541
Сказал(а) спасибо: 2
Поблагодарили 14 раз(а) в 14 сообщениях
Регистрация: 19.04.2005
По умолчанию 08.12.2005, 19:28

Не слышал о таком. Вряд ли.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Shunix Shunix вне форума
Member
 
Сообщений: 1,355
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.06.2002
По умолчанию Re: Как перенаправить стандартный вывод в переменную? - 09.12.2005, 00:09

Цитата:
Originally posted by enki
[b]Как перенаправить стандартный вывод в переменную?
Это осуществляется по тому же самому принципу, как и перенаправление стандартного вывода в файл (обсуждалось пару недель назад). Заводим ostringstream и вперед.
Подробности и примеры - см. поиск плюс MSDNrdbuf.
Ответить с цитированием
  (#7 (permalink)) Старый
Omen Omen вне форума
Member
 
Сообщений: 467
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 05.05.2004
По умолчанию 09.12.2005, 01:51

Цитата:
Originally posted by Jonano
[b]Не слышал о таком. Вряд ли.

Код:
#include <ios>
#include <iostream>
#include <fstream>

int main( ) 
{
   using namespace std;
   ofstream file( "rdbuf.txt" );
   streambuf *x = cout.rdbuf( file.rdbuf( ) );
   cout << "test" << endl;   // Goes to file
   cout.rdbuf(x);
   cout << "test2" << endl;
}
Полезная вещица. Shunix говорит про меня.
Ответить с цитированием
  (#8 (permalink)) Старый
enki enki вне форума
Новичок
 
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.12.2005
По умолчанию Re: Как перенаправить стандартный вывод в переменную? - 09.12.2005, 01:58

Цитата:
Originally posted by Shunix+-->
Цитата:
<!--QuoteBegin-enki
Цитата:
[b]Как перенаправить стандартный вывод в переменную?
Это осуществляется по тому же самому принципу, как и перенаправление стандартного вывода в файл (обсуждалось пару недель назад). Заводим ostringstream и вперед.
Подробности и примеры - см. поиск плюс MSDNrdbuf.
Я нашел в стандартной библиотеке)).
Код:
fclose(stdout);
stdout = open_memstream (&bp, &size);
Теперь вывод будет идти буфер bp.
Всем спасибо
Ответить с цитированием
  (#9 (permalink)) Старый
Shunix Shunix вне форума
Member
 
Сообщений: 1,355
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.06.2002
По умолчанию Re: Как перенаправить стандартный вывод в переменную? - 10.12.2005, 01:09

Цитата:
Originally posted by enki+-->
Цитата:
Я нашел в стандартной библиотеке)).
Стандартной библиотеке чего?

<!--QuoteBegin-msdn.microsoft.com

[b]Results for: open_memstream

Sorry, no results were found.
Ответить с цитированием
  (#10 (permalink)) Старый
wils0n wils0n вне форума
Member
 
Сообщений: 186
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.11.2005
По умолчанию 04.04.2006, 20:23

не претендую на то, что сообщаю что-то новое, но может будет полезно для начинающих. Мне, как начинающему, потребовалось 10 минут, чтоб понять, чё да как.
Код:
#include <iostream>
#include <sstream>
#include <string>

int main()
{
   using namespace std;
   string bf;

   ostringstream str_buf(bf);
   streambuf *x = cout.rdbuf(str_buf.rdbuf()); // перенаправляем

   cout << "Some stupid text";  // тект пишется в буфер 

   string str;
   str = str_buf.str();              // загоняем содержимое 

   cout.rdbuf(x);                       // возвращаем всё на место
   cout << "test2" << endl;

   cout << str << endl;        // смотрим 

   return 0;
}
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стандартный VGA графический адаптер VampaeR Видеокарты 11 12.06.2013 20:29
Защитный код для LG (стандартный) Bronks Сотовые телефоны 3 06.02.2011 14:22
Как правильно перенаправить стандартный ввод в SWI Prolog sandric Prolog 3 30.11.2009 22:28
Стандартный компонент SocketSrever Dmitry_i C++ Builder 11 23.10.2007 14:19
не стандартный .htaccess Jinjo PHP 7 15.09.2006 14:59
перенаправить STDOUT в окно messages в GUI-проекте VIP6.3 bam6yk Prolog 2 01.03.2006 07:43
Как перенаправить istream на чтение из памяти Freedom777 C++ Builder 4 22.11.2005 14:40
Как перенаправить stdout и stderr на TMemo imported_Шурик C++ Builder 3 11.10.2005 08:21
Quicksort стандартный алгоритм Avos' Алгоритмы 1 16.09.2005 20:54
Как перенаправить cin Menato С/С++ 4 05.01.2005 00:06
вывод html-документа через переменную pampushechca PHP 2 17.11.2004 16:38
Как перенаправить вывод из консоли командой НуфНуФ С/С++ 6 09.11.2004 01:46



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов