We help IT Professionals succeed at work.

cut/paste all output of .exe file from C++ prog.

dlane asked
Medium Priority
Last Modified: 2010-04-01
I created an .exe file using Visual C++ on Windows 95.   When I execute the program, it ends with only the last 25 lines visible.  I need to be able to either scroll up through the full output in the window to cut and paste or redirect the output of the program into another file from which I could cut and paste the full output.  I'm told that the DOS version of the script command would work.
Watch Question

Unlock this solution and get a sample of our free trial.
(No credit card required)

Note if the program is a windows (console) program, it could put the output directly on the clipboard.


I had already tried your suggestions to use you initial suggestions to use "<"  However, my program prompts the user for data before it runs completely.  When I use <, the text file created only includes up to the user prompt.  I need to capture both the user prompt and the results outputted after the data is entered.  Will directing to the clipboard do this?  If so, how is it done?


Not automatically.  But there may be a way that isn't too hard.  Some questions first:

Is this a windows console or DOS application?

How are you handling input and output at the moment?  (streams?, console I/O? DOS I/O, windows I/O?)  


The program pops up a DOS window asking the enter a seed number for a random number generator.  Once the user enters the seed number, the program generates commands to move a "turtle" around a "floor" (array).  Depending on whether the turtle's pen is up or down,  it changes the last spot visited from a "*" to a "+"  It's a pretty basic C++ program that uses <iostream.h> if that helps.  As a beginning programmer, I'm pretty clueless to the specifics of your questions unfortunately.

You can see what I'm trying to do at:

I have the program working and am now just trying to see all of the output to make sure it is working right.

One more question.  This should be the last.  Each time the turtle moves you output a new "floor" that shows the new path, right?  That is, you don't alter what is already displayed, instead you output new information and what was already there is scrolled up   Correct?

If that is the case, we can put the input and ouput in a file and you can copy that file to the clipboard manually.  A DOS program can copy information to the clipboard, but I don't have the details on how to do so and I suspect it is overkill for your needs.


Correct.  Each time the print floor command is hit, the present floor is printed and the previous output scrolls up.  Right now, when I run it, I can only see/cut/paste the last floor.  I think being able to get both the input and output to a file and then manually to the clipbord would be sufficient.

Let me outline what you need to do.  If that isn't enough, you can ask questions.

You can create a straem that will be used to log the program's input/output to a log file.  If you want to get fancy you can use parameters to the program to control the name of the file, eri even if it is used.  But lets start with a simple design where the same file is always used.  You can use a ofstream (output file stream) to write to the log file.  You could create the log file like

ofstream LogFil("LogFile.Txt",ios::trunc,);

Then whenever you get input from the user, you just write ot to the LogFil stream.  Whenever you have output you ouput it to the LogFil stream as well as cout.  

There are fancier ways to handle this.  But I suspect that in this case they are not worth it.  However, if you think this method will be easy enough to implement because your program does too much input/ouput or it is too complex, let me know, and we can discuss the other options.  (They may harder cases easier, but aren't worth it for easy cases.)

If you need more help or would like me to review the code, you can e-mail it to me at nietod@theshop.net.
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.