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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.67
Хохол
Эксперт С++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
#1

Вернуть stdin в консоль - C++

11.07.2010, 21:49. Просмотров 2727. Ответов 10
Метки нет (Все метки)

Допустим я перенаправил поток stdin/stdout в файл с помощью функции freopen. Как заставить его снова работать с консолью?

Добавлено через 9 минут
Нашел.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <cstdlib>
#include <stdio.h>
#include <conio.h>
 
using namespace std;
 
int main()
{
    freopen("output.txt","wt",stdout);
    printf("hello, file");
    freopen("CON","wt",stdout);
    printf("hello, console");
    getch();
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2010, 21:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вернуть stdin в консоль (C++):

вернуть компонет - C++ Builder
как мне сделать что бы моя функция возвращала DBComboBox сейчас делаю так TDBComboBox __fastcall ColumnSS(TOraQuery *OraQuery) { ...

вернуть исходник - C++ Builder
можно ли, имея готовый ехе файл из билдера, узнать его исходник? Программа мелкая очень

Вернуть TBitmap из .dll - C++ Builder
Доброго времени суток! Столкнулся со странным глюком, и как обойти не знаю, точнее не понимаю, чего от меня хотят. Возможно кто то...

Программно отменить/вернуть действие - C++ Builder
Создаю текстовый редактор как отменить последнее действие разобралась RichEdit1-&gt;Undo(); а как вернуть? функция Redo, к сожалению,...

Вернуть форму в RAD xe2 - C++ Builder
Здравствуйте! Перешел с 6 билдера на билдер от ембаркадера. Пока немного не привычно, но вроде уже во всем разобрался. Есть 1 вопрос. Когда...

Вернуть значение с закрытой формы - C++ Builder
как вернуть значение с формы которую мы закрыли. например mrOk или mrCancel как сделано в меседжере-боксе. когда используем метод close()...

10
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
11.07.2010, 22:27 #2
C++
1
2
3
4
5
6
7
int main(){
const FILE* f = stdin;
//.....
stdin = f;
printf("hellhell!");
return 0;
}
думаю примерно так
0
Хохол
Эксперт С++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
11.07.2010, 22:31  [ТС] #3
Компилер сказал, что stdin не l-value.
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
11.07.2010, 22:37 #4
ну все правильно, это работает для си

для винды можно воспользоваться
http://msdn.microsoft.com/en-us/library/ms683231(v=VS.85).aspx GetStdHandle
0
Evg
Эксперт CАвтор FAQ
18248 / 6373 / 438
Регистрация: 30.03.2009
Сообщений: 17,643
Записей в блоге: 28
11.07.2010, 23:22 #5
http://www.manpagez.com/man/3/freopen/

The freopen() function opens the file whose name is the string pointed to by filename and associates the stream pointed to by stream with it. The original stream (if it exists) is closed.
Подозреваю, что никак, но полной уверенности нет
0
Хохол
Эксперт С++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
11.07.2010, 23:23  [ТС] #6
Ну млин, я ж уже показал решение.
0
Evg
Эксперт CАвтор FAQ
18248 / 6373 / 438
Регистрация: 30.03.2009
Сообщений: 17,643
Записей в блоге: 28
11.07.2010, 23:24 #7
Цитата Сообщение от Хохол Посмотреть сообщение
C
1
freopen("CON","wt",stdout);
Это ОС-зависимый способ (т.е. не универсальный). В случае unix'а вместо "CON" нужно писать "/dev/stdout"
1
Хохол
Эксперт С++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
11.07.2010, 23:26  [ТС] #8
А, ну это да. Будем считать, что меня интересовало конкретно в винде.
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
11.07.2010, 23:28 #9
cтранно это однако, хотя наверно это не так и нужно вообще
0
Evg
Эксперт CАвтор FAQ
18248 / 6373 / 438
Регистрация: 30.03.2009
Сообщений: 17,643
Записей в блоге: 28
11.07.2010, 23:31 #10
Цитата Сообщение от alex_x_x Посмотреть сообщение
cтранно это однако, хотя наверно это не так и нужно вообще
А что странного? В документации в общем-то чётко сказано, что файл закрывается. Способов инициализировать stdin, stdout, stderr на уровне пользователя вроде бы как нет в стандарте
0
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
11.07.2010, 23:33 #11
это я не туда
не, все правильно
0
11.07.2010, 23:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2010, 23:33
Привет! Вот еще темы с ответами:

Алгоритм RLE. Вернуть изображение - C++ Builder
Добрый вечер! Изображение закодировал, а вот раскодировать не получается. Голова уже разбухла, можете помочь? Прикладываю архив и код. ...

Вернуть из функции несколько значений - C++ Builder
Приветствую всех. Создается класс для работы с прибором по последовательному порту. В классе будут реализованы функции для конкретных...

Вернуть фокус программе (Focused) - C++ Builder
Всем привет!!!! :) Помогите пожалуйста!!! Возник такой вопрос: Как вернуть фокус программе, когда она становиться не активной??? ...

Вернуть ползунок вверх в CategoryPanelGroup - C++ Builder
После динамически созданных категорий в компоненте CategoryPanelGroup ползунок опускается в самый низ. Как его программно ввернуть вверх?


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

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

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