Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
tibs
0 / 0 / 0
Регистрация: 19.11.2011
Сообщений: 11
#1

Перенаправление потока stdout - C++

27.11.2011, 16:55. Просмотров 2918. Ответов 5
Метки нет (Все метки)

Пишу программу с использованием библиотеки SDL.h. Дело в том, что в ней переопределена функция main и стандартные потоки завязанные на файлы (stdout.txt), что не очень удобно. Идея - вернуть поток на консоль, чтобы во время приложения работало 2 окна - 1 графическое (основное), 2 консоль.. И во время выполнения действий в основном окне, вся инфа о работе идет на консоль, а не в файл как сейчас. Помогите осуществить данное.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2011, 16:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Перенаправление потока stdout (C++):

Перенаправление потока - C++
Мне нужно получить список файлов в директории и перенаправить поток в текстовый файл. Отдельно перенаправить поток и получить список файлов...

Перенаправление потока вывода - C++
Здравствуйте! Задача такова - нужно перенаправить поток вывода с cout на файловый в одном из конструкторов класса. Итог - необработанное...

stdin, stdout, stderror - C++
Эти три файловых дискриптора, получаемые программами при запуске они указывают на реальные файлы, который файловая система создает? Когда я...

Перехват stdout графического приложения - C++
ОС Win7. Возможно ли перехватывать stdout графического приложения, и если да, то как?

Опять про fflush, уже stdout - C++
Уважаемые профессионалы. В книге Хэзфилд, Кирби " Искусство программирования на языке Си. Фундаментальные алгоритмы.... " на 58 стр. увидел...

Чтение UNICODE символов из STDOUT процесса - C++
У меня есть процесс (cmd.exe) создан через WINAPI функцию CreateProcess. К процессу подключено 2 переменных типа HANDLE из которых в свою...

5
Somebody
2797 / 1608 / 148
Регистрация: 03.12.2007
Сообщений: 4,202
Завершенные тесты: 3
27.11.2011, 17:31 #2
В винде можно AllocConsole, открыть CreateFile'ом CONOUT$, SetStdHandle. В невинде - не знаю.
0
tibs
0 / 0 / 0
Регистрация: 19.11.2011
Сообщений: 11
27.11.2011, 17:41  [ТС] #3
Цитата Сообщение от Somebody Посмотреть сообщение
В винде можно AllocConsole, открыть CreateFile'ом CONOUT$, SetStdHandle. В невинде - не знаю.
напиши мне, пожалуйста, полную эту команду и ее где надо написать? Первой строкой в main.

PS: на винде
0
Somebody
2797 / 1608 / 148
Регистрация: 03.12.2007
Сообщений: 4,202
Завершенные тесты: 3
27.11.2011, 20:46 #4
Если консоли нет, то
C++
1
AllocConsole();
Для WinApi'шных функций
C++
1
2
3
HANDLE h = CreateFile("CONOUT$", GENERIC_READ | GENERIC_WRITE,
    FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);
SetStdHandle(STD_OUTPUT_HANDLE, h);
Для сишных прокатывает
C++
1
freopen("CONOUT$", "r+", stdout);
хотя есть некоторые сомнения насчёт стопроцентной работоспособности.
1
tibs
0 / 0 / 0
Регистрация: 19.11.2011
Сообщений: 11
28.11.2011, 02:28  [ТС] #5
Цитата Сообщение от Somebody Посмотреть сообщение
Для сишных прокатывает
Код C++1 freopen("CONOUT$", "r+", stdout);
эта прокатила, спасибо
Цитата Сообщение от Somebody Посмотреть сообщение
AllocConsole();
а для нее что подключить нужно?
0
Bers
Заблокирован
28.11.2011, 02:29 #6
Цитата Сообщение от tibs Посмотреть сообщение
а для нее что подключить нужно?
http://vsokovikov.narod.ru/New_MSDN_API/Console/con_fn.htm
0
28.11.2011, 02:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2011, 02:29
Привет! Вот еще темы с ответами:

Чтение из stdin и запись в stdout бинарной информации - C++
Привет. Посмотрите, пожалуйста. Мне нужен т.н. "прозрачный" ехе-шник, чтобы он передавал в StdOut тоже, что и получил из StdIn. ...

Вызывть метод одного потока из другого потока - C++
Здравствуйте, подскажите пожалуйста, как можно реализовать такую штуку : есть один поток(1), который вызывает метод у обьекта, этот...

Вместо вывода в stdout, сохранить числа в динамический массив - C++
Это алгоритм выборки элементов из двумерного массива. Нужно сохранить отобранные элементы в одномерный динамически создаваемый массив. ...

Создание потока из потока. - C++
Надо создать поток 1, в нем создать поток 2, сам я жуткий дураг, немаловероятно что правильного в коде вообще ничего нет ) ругается...


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

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

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