Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
sbhx
25 / 19 / 1
Регистрация: 02.02.2011
Сообщений: 90
#1

отсоединение от файлов - C++

06.11.2011, 12:04. Просмотров 829. Ответов 12
Метки нет (Все метки)

Извините если подобная тема уже была создана где-то но я не нашел такой. Я использовал команду freopen для подключения файла и ввода в файл а потом хочу опять выводить на экран но не пойму как это сделать? как "отключить" файл и начать вывод на экран заново?

Заранее спасибо.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2011, 12:04     отсоединение от файлов
Посмотрите здесь:

Отсоединение шлангов для их смены - Стиральные машины
Появилась необходимость сменить шланги слива/подачи воды на стиральную машину. Какие меры предосторожности нужно соблюсти при отсоединении...

UDP и физическое отсоединение кабеля - C++ Linux
Есть программа посылающая пакету UDP на уд.хост, как программно отследить физическое отсоединение кабеля для того что бы прервать отправку...

Программное отсоединение базы данных - C++/CLI
Доброго времени суток Подскажите пожалуйста, как можно программно отсоединить базу данных Т.е., для подключения использую строку: ...

Sockjs и node js. Резкое отсоединение от сервера - Node.js
Добрый день, есть сайт, на котором чат пытаюсь написать с помощью sock js и node вроде все хорошо, но бывает неожиданно клиент...

После сброса питания, включается только через отсоединение Power SW - Материнские платы
Поменял процессор, материнку и кулер, и появилась проблема. При подсоединении кабеля питания к блоку питания, компьютер не включается,...

Создать два файла: в первый записать содержимое 1 + 2 файлов, а во второй – 2 + 1 файлов - Assembler
Создать два файла: в первый записать содержимое 1 + 2 файлов, а во второй – 2 + 1 файлов.

Отключить отображения расширения файлов и скрытых системных файлов - Delphi
Как средствами delphi можно отключить отображения расширения файлов и скрытых системных файлов?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
06.11.2011, 12:08     отсоединение от файлов #2
вызывай freopen еще раз, только вместо имени файла передавай NULL
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
06.11.2011, 12:13     отсоединение от файлов #3
http://c-faq.com/stdio/undofreopen.html
sbhx
25 / 19 / 1
Регистрация: 02.02.2011
Сообщений: 90
06.11.2011, 12:26  [ТС]     отсоединение от файлов #4
Спасибо всем кто написал, сделал все кроме NULL... жаль что сам не додумался... ну ладно все равно спасибо всем кто постарался и отвел хотя бы пару секунд)
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
06.11.2011, 12:38     отсоединение от файлов #5
Цитата Сообщение от Jupiter Посмотреть сообщение
вызывай freopen еще раз, только вместо имени файла передавай NULL
не будет работать
sbhx
25 / 19 / 1
Регистрация: 02.02.2011
Сообщений: 90
06.11.2011, 12:44  [ТС]     отсоединение от файлов #6
Цитата Сообщение от Nameless One Посмотреть сообщение
не будет работать
странно а почему у меня сработало? О_о у меня и то и другое сработало)
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
06.11.2011, 12:56     отсоединение от файлов #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от sbhx Посмотреть сообщение
странно а почему у меня сработало? у меня и то и другое сработало)
потому, что freopen закрывает оригинальный файловый поток, а стандартного способа восстановить stdout (stdin, stderr) из строкового параметра не существует. А вообще, покажи код
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
06.11.2011, 13:28     отсоединение от файлов #8
Цитата Сообщение от Nameless One Посмотреть сообщение
Сообщение от Jupiter
вызывай freopen еще раз, только вместо имени файла передавай NULL
не будет работать
действительно не работает, хотя помню точно в древних компилях использовал и работало как-то)
sbhx
25 / 19 / 1
Регистрация: 02.02.2011
Сообщений: 90
06.11.2011, 16:29  [ТС]     отсоединение от файлов #9
ну вообще я пользуюсь DEV-C++ это древний компилятор? сейчас перестало работать ну вот часть кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
          cout << endl << "/t Подождите..." << endl << endl;
          cout << "\t\t 0% |                    |" << endl;
          freopen("C:/Users/Dennis/Desktop/m", "w", stdout);
          cout << "1" << endl;
          freopen(NULL, "w", stdout);
          system("cls");
          cout << "\t\t 1% |*                   |" << endl;
          freopen("C:/Users/Dennis/Desktop/sittings", "w", stdout);
          cout << "0 10" << endl;
          freopen(NULL, "w", stdout);
          system("cls");
          cout << "\t\t 5% |*                   |" << endl;
это типа установки но это не установка это похоже на бред соглашусь) почему перестало работать хотя работало и хорошо работало.... на самом деле это одна часть кода но все-таки разобраться здесь можно и дальше тоже самое... там идут всякие меню это не столь важно... все остальное работает отлично только вот проблема с отменой вывода на экран...
я переробатывал код и получалось без ошибок но все же так у меня получается короче и хотелось бы понять как сделать именно с freopen возвращаться... но если нет другого метода то буду писать более длинным методом все равно спасибо всем)
я пишу консольную игру и в ней нужно если создаешь новые настройки сделать подобную фигню... и хотелось бы разобраться с этим...(( эти файлы будут помогать настройки сохранять и воспроизводить легко и быстро... не хочу с базами данных морочить себе голову)
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
06.11.2011, 17:01     отсоединение от файлов #10
Цитата Сообщение от sbhx Посмотреть сообщение
ну вообще я пользуюсь DEV-C++ это древний компилятор
это вообще не компилятор, эта среда разработки. Она использует в качестве компилятора (по умолчанию) MinGW. Посмотри, какая версия MinGW у тебя идет с компилятором

Цитата Сообщение от sbhx Посмотреть сообщение
все остальное работает отлично только вот проблема с отменой вывода на экран...
я переробатывал код и получалось без ошибок но все же так у меня получается короче и хотелось бы понять как сделать именно с freopen возвращаться... но если нет другого метода то буду писать более длинным методом все равно спасибо всем)
в общем случае отмена перенаправления для стандартных потоков невозможна. Так что используй отдельные функции для файловых потоков и отдельные - для стандартных потоков

ИМХО, код, который ты привел выше, выглядит достаточно запутанно. Чтобы определить, куда в данный момент будет записываться вывод, приходится искать в коде последнее перенаправление вывода. Удобней будет использовать явный вывод в файл
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
06.11.2011, 17:07     отсоединение от файлов #11
Неужели настолько лень вызывать fopen и fclose и сохранить один несчастный файловый дескриптор?..
sbhx
25 / 19 / 1
Регистрация: 02.02.2011
Сообщений: 90
06.11.2011, 17:14  [ТС]     отсоединение от файлов #12
ладно... переписал код, всем ОГРОМНОЕ СПАСИБО!
для меня не очень запутанно но мне кажется что это только для меня так как я знаю весь код и знаю что я делаю и поэтому представляю себе что где находится еще раз спасибо тему можно закрывать все теперь понятно... буду теперь использовать freopen когда буду уверен что не надо будет переключаться опять на вывод на экран а только когда работа идет с файлами...

Добавлено через 6 минут
Цитата Сообщение от talis Посмотреть сообщение
Неужели настолько лень вызывать fopen и fclose и сохранить один несчастный файловый дескриптор?..
спасибо за данные команды но я просто не знал о существовании таких а если бы знал вообще эту тему наверное не заводил
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2011, 17:17     отсоединение от файлов
Еще ссылки по теме:

Проверка имен файлов в multiple форме добавления файлов - JavaScript
Доброго времени суток. Есть форма: &lt;input name=&quot;files&quot; id=&quot;files&quot; multiple=&quot;true&quot; type=&quot;file&quot; onchange=&quot;file_valid()&quot;&gt; Есть...

Магазин файлов на WP+woocommerce - как организовать внутренний счет и отправку файлов-товаров самими юзерами? - WordPress
Делаю интернет-магазин, где абсолютно весь товар представлен в виде файлов (doc, xls и прочих офисных форматов). Остановился на связке...

Напишите программу конкатенирующую (соединяющую воедино) последовательно несколько файлов. Имена файлов задаются в командной строке - Java
Напишите программу конкатенирующую (соединяющую воедино) последовательно несколько файлов. Имена файлов задаются в командной строке.

Хранение файлов в БД и чтение файлов - MySQL
Привет. Наткнулся на такой оператор &quot;LOAD DATA INFILE '1.txt' INTO TABLE `my`&quot; Он должен считать построчно файл и записать в таблицу...


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

Или воспользуйтесь поиском по форуму:
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
06.11.2011, 17:17     отсоединение от файлов #13
Цитата Сообщение от sbhx Посмотреть сообщение
спасибо за данные команды но я просто не знал о существовании таких а если бы знал вообще эту тему наверное не заводил
Дорогие (некоторые) преподаватели программирования! Доупрощались, поздравляю вас!
Yandex
Объявления
06.11.2011, 17:17     отсоединение от файлов
Ответ Создать тему
Опции темы

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