Как я могу увидеть вывод моих программ на 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;
 }

Надеюсь, это помогло.

Другие вопросы по тегам