Capturing Console Output

Please support our C advertiser: Programming Forums - DaniWeb Sister Site
Reply

Join Date: Mar 2004
Posts: 219
Reputation: BountyX is an unknown quantity at this point 
Solved Threads: 7
BountyX's Avatar
BountyX BountyX is offline Offline
Code Guru

Capturing Console Output

 
0
  #1
May 4th, 2004
I would liek to invisibly run a console application, capture it's output, and save its contents into a log window with an edit control. I know it's possible becuase i've seen it done, but how can I capture terminal output?
A Hacker's Mind:
"I thought what I'd do was, I'd pretend I was one of those deaf-mutes..." - J.D.Salinger
Reply With Quote Quick reply to this message  
Join Date: Mar 2004
Posts: 77
Reputation: infamous is an unknown quantity at this point 
Solved Threads: 2
infamous infamous is offline Offline
Junior Poster in Training

Re: Capturing Console Output

 
0
  #2
May 5th, 2004
i'm not sure if this is the answer u want, b/c i dont fully understand what u mean by "log window", but if u run a program from DOS prompt like:

./program >outfile standard output is redirected to the file outfile. if u want to do that inside the program, u use the dup2() function. open the output file, and then dup2 the descriptor onto STDOUT.
Reply With Quote Quick reply to this message  
Join Date: Mar 2004
Posts: 77
Reputation: infamous is an unknown quantity at this point 
Solved Threads: 2
infamous infamous is offline Offline
Junior Poster in Training

Re: Capturing Console Output

 
0
  #3
May 5th, 2004
ugh, nevermind apparently windows doesn't support dup'ing
Reply With Quote Quick reply to this message  
Join Date: Mar 2004
Posts: 219
Reputation: BountyX is an unknown quantity at this point 
Solved Threads: 7
BountyX's Avatar
BountyX BountyX is offline Offline
Code Guru

Re: Capturing Console Output

 
0
  #4
May 5th, 2004
Originally Posted by infamous
ugh, nevermind apparently windows doesn't support dup'ing
found a solution, ended up using pipes to redirect all streams

  1. char psBuffer[128];
  2. FILE *telnet;
  3. /* Run telnet so that it writes its output to a pipe. Open this
  4. * pipe with read text attribute so that we can read it
  5. * like a text file.
  6. */
  7. if( (telnet = _popen( "cdrecord --help", "rt" )) == NULL )
  8. exit( 1 );
  9. /* Read pipe until end of file. End of file indicates that
  10. * telnet closed its standard out (probably meaning it
  11. * terminated).
  12. */
  13. while( !feof( telnet ) )
  14. {
  15. if( fgets( psBuffer, 128, telnet ) != NULL )
  16. printf( psBuffer );
  17. }
  18. /* Close pipe and print return value of telnet */
  19. printf( "\nProcess returned %d\n", _pclose( telnet ) );

NOTE: I only used telnet for testing purposes, my real program created a blank file when I tried "cmd /c myProgram.exe > datafile.txt" with a system command or just "myProgram.exe > datafile.txt". The above was my solution.
A Hacker's Mind:
"I thought what I'd do was, I'd pretend I was one of those deaf-mutes..." - J.D.Salinger
Reply With Quote Quick reply to this message  
Join Date: May 2004
Posts: 256
Reputation: FireNet will become famous soon enough FireNet will become famous soon enough 
Solved Threads: 6
FireNet's Avatar
FireNet FireNet is offline Offline
Posting Whiz in Training

Re: Capturing Console Output

 
0
  #5
May 6th, 2004
I do not not understand how the pipeing program works
See what you can, remember what you need

Fourzon | Earn via Coding
Reply With Quote Quick reply to this message  
Join Date: Mar 2006
Posts: 1
Reputation: sarin is an unknown quantity at this point 
Solved Threads: 0
sarin sarin is offline Offline
Newbie Poster

Re: Capturing Console Output

 
0
  #6
Mar 6th, 2006
Originally Posted by FireNet
I do not not understand how the pipeing program works
can i have the source if you have one, i want to capture the telnet outputs to a txt file, all i need to do it programatically, i need to login telnet and process some commands and get the output to a file, if i can get a c++ or vb source code which does this, it would be great, thanks in advance

sarin
Reply With Quote Quick reply to this message  
Join Date: Aug 2005
Posts: 15,440
Reputation: Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute Ancient Dragon has a reputation beyond repute 
Solved Threads: 1473
Team Colleague
Featured Poster
Ancient Dragon's Avatar
Ancient Dragon Ancient Dragon is offline Offline
Still Learning

Re: Capturing Console Output

 
0
  #7
Mar 6th, 2006
Originally Posted by infamous
ugh, nevermind apparently windows doesn't support dup'ing
yes it does -- for redirecting stdout or stderr to a file. You can't redirect it like that to a MS-Windows GUI control, such as an edit control. And I don't think you can do that under *nix X11 controls either.

But I know what you want to do can be done -- I've seen it, but not sure how to do it either. Maybe pipes is the way to go.
Reply With Quote Quick reply to this message  
Join Date: Mar 2009
Posts: 2
Reputation: krunalpatel1410 is an unknown quantity at this point 
Solved Threads: 0
krunalpatel1410 krunalpatel1410 is offline Offline
Newbie Poster

Re: Capturing Console Output

 
0
  #8
Mar 31st, 2009
Originally Posted by sarin View Post
can i have the source if you have one, i want to capture the telnet outputs to a txt file, all i need to do it programatically, i need to login telnet and process some commands and get the output to a file, if i can get a c++ or vb source code which does this, it would be great, thanks in advance

sarin
hi,,

sarin u understand problem specified in that thread topic,
i m try also try to capture the telnet command prompt data into text file.. if u have code for this functionality then please help ...
i m very frustrate, i can't get solution .
plz provide solution as soon as possible...


krunal
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Similar Threads
Other Threads in the C Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC