简体   繁体   中英

How can I see an the output of my C programs using Dev-C++?

I'm looking to follow along with The C Programming Language (Second Addition) on a machine running Vista.

So far, I've found Dev-C++ the easiest IDE to do this in. However, I still have one problem. Whenever I run my compiled code, for example: a simple hello world program, it runs, but the console window just flickers on the screen, and I can't see the output.

How can I see an the output of my C programs using Dev-C++? I found a C++ specific solution, System("pause") , and a really ugly C solution, while looping fflush(stdout) , but nothing nice and pretty.

I put a getchar() at the end of my programs as a simple "pause-method". Depending on your particular details, investigate getchar , getch , or getc

In Windows when a process terminates, the OS closes the associated window. This happens with all programs (and is generally desirable behaviour), but people never cease to be surprised when it happens to the ones they write themselves.

I am being slightly harsh perhaps; many IDE's execute the user's process in a shell as a child process, so that it does not own the window so it won't close when the process terminates. Although this would be trivial, Dev-C++ does not do that.

Be aware that when Dev-C++ was popular, this question appeard at least twice a day on Dev-C++'s own forum on Sourceforge. For that reason the forum has a "Read First" thread that provides a suggested solution amongst solutions to many other common problems. You should read it here .

Note that Dev-C++ is somewhat old and no longer actively maintained. It suffers most significantly from an almost unusable and very limited debugger integration. Traffic on the Dev-C++ forum has been dropping off since the release of VC++ 2005 Express, and is now down to a two or three posts a week rather than the 10 or so a day it had in 2005. All this suggest that you should consider an alternative tool IMO.

Use #include conio.h

Then add getch(); before return 0;

For Dev-C++, the bits you need to add are:-

At the Beginning

#include <stdlib.h>

And at the point you want it to stop - ie before at the end of the program, but before the final }

system("PAUSE");

It will then ask you to "Press any key to continue..."

将其添加到头文件#include中,然后在最后添加以下行:getch();

The easiest thing to do is to run your program directly instead of through the IDE. Open a command prompt (Start->Run-> Cmd.exe ->Enter), cd to the folder where your project is, and run the program from there. That way, when the program exits, the prompt window sticks around and you can read all of the output.

Alternatively, you can also re-direct standard output to a file, but that's probably not what you are going for here.

You can open a command prompt (Start -> Run -> cmd , use the cd command to change directories) and call your program from there, or add a getchar() call at the end of the program, which will wait until you press Enter. In Windows, you can also use system("pause") , which will display a "Press enter to continue..." (or something like that) message.

Add a line getchar(); or system("pause"); before your return 0; in main function. It will work for you.

; It works...

#include <iostream>
using namespace std;
int main ()
{
   int x,y; // (Or whatever variable you want you can)

your required process syntax type here then;

   cout << result 

(or your required output result statement); use without space in getchar and other syntax.

   getchar();
}

Now you can save your file with .cpp extension and use ctrl + f 9 to compile and then use ctrl + f 10 to execute the program. It will show you the output window and it will not vanish with a second Until you click enter to close the output window.

i think you should link your project in console mode

just press Ctrl+h and in General tab select console.

When a program is not showing or displaying an output on the screen, using system("pause"); is the solution to it on a Windows profile.

使用行system("PAUSE")将解决该问题,还包括预处理器目录#include<stdlib.h>

Well when you are writing ac program and want the output log to stay instead of flickering away you only need to import the stdlib.h header file and type "system("PAUSE");" at the place you want the output screen to halt.Look at the example here.The following simple c program prints the product of 5 and 6 ie 30 to the output window and halts the output window.

#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;
 }

Hope this helped.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM