Как я могу увидеть вывод моих программ на C, использующих Dev-C++?
Я собираюсь следовать языку программирования C (второе дополнение) на машине с Vista.
До сих пор я нашел Dev-C++ самой простой IDE для этого. Однако у меня все еще есть одна проблема. Например, всякий раз, когда я запускаю свой скомпилированный код: простая программа hello world, она запускается, но окно консоли просто мерцает на экране, и я не вижу выходных данных.
Как я могу увидеть вывод моих программ на C, использующих Dev-C++? Я нашел C++ конкретное решение, System("pause")
и действительно уродливое решение C, while
перекручивание fflush(stdout)
, но ничего хорошего и милого.
13 ответов
В Windows, когда процесс завершается, ОС закрывает соответствующее окно. Это происходит со всеми программами (и в целом желательно поведение), но люди никогда не перестают удивляться, когда это происходит с теми, которые они пишут сами.
Возможно, я немного резок; многие IDE выполняют пользовательский процесс в оболочке как дочерний процесс, так что он не владеет окном, поэтому он не закрывается после завершения процесса. Хотя это было бы тривиально, Dev-C++ этого не делает.
Имейте в виду, что когда Dev-C++ был популярен, этот вопрос появлялся как минимум два раза в день на собственном форуме Dev-C++ по Sourceforge. По этой причине на форуме есть тема "Сначала прочитай", в которой предлагается решение среди множества других распространенных проблем. Вы должны прочитать это здесь.
Обратите внимание, что Dev-C++ несколько устарел и больше не поддерживается. Он наиболее сильно страдает от почти непригодной и очень ограниченной интеграции отладчика. Начиная с выпуска VC++ 2005 Express трафик на форуме Dev-C++ снижается, и теперь он сокращается до двух или трех сообщений в неделю, а не до десяти дней в 2005 году. Все это говорит о том, что вам следует Рассмотрим альтернативный инструмент ИМО.
Я положил getchar()
в конце моих программ, как простой "метод паузы". В зависимости от ваших конкретных деталей, расследовать getchar
, getch
, или же getc
Использование #include conio.h
Затем добавьте getch();
до return 0;
Для Dev-C++ необходимо добавить следующие биты:
В начале
#include <stdlib.h>
И в тот момент, когда вы хотите, чтобы это прекратилось - т.е. до конца программы, но до финала}
system("PAUSE");
Затем он попросит вас "нажать любую клавишу, чтобы продолжить..."
Добавьте это в ваш заголовочный файл #include и затем в конце добавьте эту строку: getch();
Самое простое, что можно сделать - это запустить вашу программу напрямую, а не через IDE. Откройте командную строку (Пуск-> Выполнить->Cmd.exe
-> Enter), cd
в папку, где находится ваш проект, и запустите программу оттуда. Таким образом, когда программа завершает работу, окно подсказки остается на месте, и вы можете прочитать весь вывод.
Кроме того, вы также можете перенаправить стандартный вывод в файл, но это, вероятно, не то, что вы собираетесь здесь.
Я думаю, что вы должны связать свой проект в режиме консоли
просто нажмите Ctrl+h и на вкладке General выберите консоль.
Вы можете открыть командную строку (Пуск -> Выполнить -> cmd
, использовать cd
команда для изменения каталогов) и вызвать вашу программу оттуда, или добавить getchar()
позвоните в конце программы, которая будет ждать, пока вы не нажмете Enter. В Windows вы также можете использовать system("pause")
, который будет отображать сообщение "Нажмите ввод, чтобы продолжить..." (или что-то подобное).
; Оно работает...
#include <iostream>
using namespace std;
int main ()
{
int x,y; // (Or whatever variable you want you can)
ваш требуемый тип синтаксиса процесса здесь тогда;
cout << result
(или ваш требуемый результат вывода); использовать без пробела в getchar и другом синтаксисе.
getchar();
}
Теперь вы можете сохранить ваш файл с расширением.cpp и использовать ctrl + f 9 для компиляции, а затем используйте ctrl + f 10 для запуска программы. Он покажет вам окно вывода и не исчезнет через секунду, пока вы не нажмете Enter, чтобы закрыть окно вывода.
Добавить строку getchar();
или же system("pause");
до вашего return 0;
в основной функции. Это будет работать для вас.
Когда программа не показывает или не отображает вывод на экране, используя system("pause");
это решение для него в профиле Windows.
Использование линии system("PAUSE")
исправит эту проблему, а также включит каталог препроцессора #include<stdlib.h>
,
Хорошо, когда вы пишете AC-программу и хотите, чтобы выходной журнал оставался, а не мерцал, вам нужно только импортировать заголовочный файл stdlib.h и набрать "system("PAUSE");" в том месте, где вы хотите, чтобы экран вывода остановился. Посмотрите на пример здесь. Следующая простая программа c выводит произведение 5 и 6, т.е. 30, в окно вывода и останавливает окно вывода.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c;
a=5;b=6;
c=a*b;
printf("%d",c);
system("PAUSE");
return 0;
}
Надеюсь, это помогло.