@ZeroEllipse
чайник почти во всем

Что сделать, чтобы так не было — функция printf не выводит в консоль ничего С++?

1d8c89532c2a48e0a2b511a1c8447c63.jpg Windows XP, QT 5.4.0, minGW
  • Вопрос задан
  • 1654 просмотра
Пригласить эксперта
Ответы на вопрос 4
@MiiNiPaa
1) Попробуйте для начала избавится от русского текста в printf. Выведите что-нибудь исключительно латиницей.
2) Попробуйте добавить fflush(stdout) между printf и getch. Я не уверен что getch сбрасывает буфер.
Ответ написан
@Dum_spiro_spero
А запускается тот же самый файл который компилится?
Попробуйте удалите экзешник.
Я не спец по miniGW, но натыкался на подобное в VC++ - идет компиляция, а запускается файл который уже был слинкован.
Ответ написан
S-ed
@S-ed
Комбайнёр
В QtCreator для компиляции необходим файл проекта:
<название сборки>.pro
В нём указаны файлы и библиотеки необходимые для компиляции.
QT       += core
QT       -= gui
TARGET = untitled
CONFIG   += console
CONFIG   -= app_bundle
TEMPLATE = app
SOURCES += main.cpp

untitled в данном случае - имя проекта
+= core можно заменить на -=
Создайте новый проект:
File -> New File or Project -> Application -> Qt Console Application
Содержимое main.cpp можно заменить полностью.

Настройка процесса компиляции находится в закладке Projects (Ctrl+5).
В моём случае:
qmake.exe X:\DEV\Qt\untitled\untitled.pro -r -spec win32-msvc2013
Ответ написан
Wohlstand
@Wohlstand
Инженер-программист С++
Если собирать файл через g++ file.cpp -o file.exe, то думаю проблем не будет. Хотя как тут упомянули, попробуй добавить fflush(stdout); сразу после всех printf(); перед getch(); Из-за того, что я в своём Qt-приложении перенаправил вывод с qDebug() в файл, то чтобы просто отпечатать в отладочной консоли, я писал printf() и тут же fflush(stdout); иначе все сообщения выводятся только после закрытия приложения
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы