Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/16: Рейтинг темы: голосов - 16, средняя оценка - 4.69
Хохол
Эксперт С++
475 / 443 / 34
Регистрация: 20.11.2009
Сообщений: 1,292
1

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

11.07.2010, 21:49. Просмотров 2946. Ответов 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
Ответы с готовыми решениями:

вернуть компонет
как мне сделать что бы моя функция возвращала DBComboBox сейчас делаю так...

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

Вернуть TBitmap из .dll
Доброго времени суток! Столкнулся со странным глюком, и как обойти не знаю,...

Программно отменить/вернуть действие
Создаю текстовый редактор как отменить последнее действие разобралась...

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

10
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 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 / 34
Регистрация: 20.11.2009
Сообщений: 1,292
11.07.2010, 22:31  [ТС] 3
Компилер сказал, что stdin не l-value.
0
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 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
19344 / 7198 / 537
Регистрация: 30.03.2009
Сообщений: 20,138
Записей в блоге: 30
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 / 34
Регистрация: 20.11.2009
Сообщений: 1,292
11.07.2010, 23:23  [ТС] 6
Ну млин, я ж уже показал решение.
0
Evg
Эксперт CАвтор FAQ
19344 / 7198 / 537
Регистрация: 30.03.2009
Сообщений: 20,138
Записей в блоге: 30
11.07.2010, 23:24 7
Цитата Сообщение от Хохол Посмотреть сообщение
C
1
freopen("CON","wt",stdout);
Это ОС-зависимый способ (т.е. не универсальный). В случае unix'а вместо "CON" нужно писать "/dev/stdout"
1
Хохол
Эксперт С++
475 / 443 / 34
Регистрация: 20.11.2009
Сообщений: 1,292
11.07.2010, 23:26  [ТС] 8
А, ну это да. Будем считать, что меня интересовало конкретно в винде.
0
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
11.07.2010, 23:28 9
cтранно это однако, хотя наверно это не так и нужно вообще
0
Evg
Эксперт CАвтор FAQ
19344 / 7198 / 537
Регистрация: 30.03.2009
Сообщений: 20,138
Записей в блоге: 30
11.07.2010, 23:31 10
Цитата Сообщение от alex_x_x Посмотреть сообщение
cтранно это однако, хотя наверно это не так и нужно вообще
А что странного? В документации в общем-то чётко сказано, что файл закрывается. Способов инициализировать stdin, stdout, stderr на уровне пользователя вроде бы как нет в стандарте
0
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 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

Вернуть форму в RAD xe2
Здравствуйте! Перешел с 6 билдера на билдер от ембаркадера. Пока немного не...

Вернуть ползунок вверх в CategoryPanelGroup
После динамически созданных категорий в компоненте CategoryPanelGroup ползунок...

Алгоритм RLE. Вернуть изображение
Добрый вечер! Изображение закодировал, а вот раскодировать не получается....


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

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

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