Russian Qt Forum
Ноябрь 24, 2024, 08:37
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Перенаправление стандартного вывода в консольном приложении
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Перенаправление стандартного вывода в консольном приложении (Прочитано 4847 раз)
titan83
Гость
Перенаправление стандартного вывода в консольном приложении
«
:
Июль 28, 2015, 14:05 »
Здравствуйте.
Система - линукс.
Такая странная ситуация - пытаюсь сохранить вывод консольного приложения в файл: ./prog > prog.log.
Вывод на консоль делаю printf().
В результате файл создается, но он всегда пустой.
При этом для любых других программ все работает как и ожидается - вывод сохраняется.
В файле проекта есть строка CONFIG += console.
Почему может быть такое поведение?
Спасибо.
Записан
Fregloin
Супер
Offline
Сообщений: 1025
Re: Перенаправление стандартного вывода в консольном приложении
«
Ответ #1 :
Июль 28, 2015, 16:19 »
нужно делать flush().
Но для того что бы он работал, получите дескрипторы файлов-потоков ввода/вывода (на сколько я помню у них стандартные номера 1,2,3 для ввода, вывода и ошибок), далее
fprintf(stdout,"...");
fflush(stdout);
или как то так, писал по памяти. после этого данные будут записаны в файл. Так как по умолчанию включена буферизация и нужно дергать flush вручную.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Перенаправление стандартного вывода в консольном приложении
«
Ответ #2 :
Июль 28, 2015, 16:21 »
А зачем вообще printf, если ты пишешь на плюсах? Есть же std::cout, где std::endl сбрасывает буфер.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Bepec
Гость
Re: Перенаправление стандартного вывода в консольном приложении
«
Ответ #3 :
Июль 28, 2015, 16:46 »
Не всегда сбрасывает, во всяком случае на старых окошках. Попадал в ситуацию, когда сбрасывает только flush.
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Перенаправление стандартного вывода в консольном приложении
«
Ответ #4 :
Июль 28, 2015, 16:54 »
Цитата: Bepec от Июль 28, 2015, 16:46
Не всегда сбрасывает, во всяком случае на старых окошках. Попадал в ситуацию, когда сбрасывает только flush.
Ну это вы передавайте привет компилятору, который лучше всех поддерживает стандарт.
Записан
Bepec
Гость
Re: Перенаправление стандартного вывода в консольном приложении
«
Ответ #5 :
Июль 28, 2015, 21:13 »
Old - не будем спорить. В тот раз я цитатами доказал, что поведение компилятора соответствует стандарту. Опять рыться изза фигни? увольте
PS подкалывать можно, но не в каждой же теме
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Перенаправление стандартного вывода в консольном приложении
«
Ответ #6 :
Июль 28, 2015, 21:21 »
Цитата: Bepec от Июль 28, 2015, 21:13
В тот раз я цитатами доказал, что поведение компилятора соответствует стандарту.
Цитата: Bepec от Июль 28, 2015, 21:13
PS подкалывать можно, но не в каждой же теме
А я вас не подкалываю. Это еще одно подтверждение того, что самый строгий компилятор кладет на стандарты.
Записан
titan83
Гость
Re: Перенаправление стандартного вывода в консольном приложении
«
Ответ #7 :
Июль 29, 2015, 10:28 »
Всем спасибо.
Тоже вечером подумалось на счет флаша.
А пишу не я и не на плюсах - человек еще не освоил - хочет писать как умеет - на си.
Записан
qate
Супер
Offline
Сообщений: 1177
Re: Перенаправление стандартного вывода в консольном приложении
«
Ответ #8 :
Июль 31, 2015, 12:53 »
если писать в stderr, то файл будет пуст
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...