The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > High Level Programming
Google UNIX.COM


High Level Programming Post questions about C, C++, Java, SQL, and other programming languages here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
changing /cn@0:console file permissions ErnieG Security 4 12-04-2007 04:39 AM
permanent redirection of standard input gfhgfnhhn Shell Programming and Scripting 6 11-01-2006 12:52 AM
input redirection question luistid Shell Programming and Scripting 0 08-22-2006 04:28 AM
redirection stdin whited05 Shell Programming and Scripting 2 10-12-2005 11:03 AM
Input Redirection majeed73 UNIX for Dummies Questions & Answers 6 07-08-2002 12:57 PM

Reply
 
Submit Tools LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 09-28-2001
Registered User
 

Join Date: Sep 2001
Posts: 3
Stumble this Post!
Arrow Changing stdin from file redirection to console input

Hi

I am doing file redirection at console for use by my binary.

%console%> bin &lt inputfile

After reading in the entire file, I want my program to continue taking input from the console. So essentially I want to redirect stdin back to console. But I cant figure out how to do it.

I am using GNU compiler on Linux and Solaris. Can anyone help me in this regard.

Thanx
Nauman

Last edited by nauman; 09-28-2001 at 04:01 PM.
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 09-28-2001
rwb1959's Avatar
Registered User
 

Join Date: Aug 2001
Location: Virginia, USA
Posts: 438
Stumble this Post!
I'm not exactly clear what
you are trying to do but
after your done reading the file,
try closing all fd's

// assuming you have no more that 10 files open
for(i = 0; i < 10; i++)
{
if(close(i) < 0)
break;
}

...then open a new file. The fd will be 0 (stdin).
Reply With Quote
  #3 (permalink)  
Old 09-29-2001
Registered User
 

Join Date: Sep 2001
Posts: 3
Stumble this Post!
Question

I am not opening any file in my program. The file is being redirected to stdin by the OS.

bin &lt inputfile

I am using gets() to read, which not to mention read from the stdin. After I am finished reading the file, I want gets() to continue reading from console input.

Are u implying that file redirection causes a fd attached to stdin. If so when I reopen the fd, what argument should I give it, to attach it to console input.

I am going to try it next anyway and see what happens.

Thanx

Nauman
Reply With Quote
  #4 (permalink)  
Old 09-29-2001
rwb1959's Avatar
Registered User
 

Join Date: Aug 2001
Location: Virginia, USA
Posts: 438
Stumble this Post!
When a program is loaded by the OS,
it is automatically given 3 open files...

stdin -> fd=0
stdout -> fd=1
stderr -> fd=2

By closing all fd's you guarantee that
the next file you open...

open(...)

...will be assigned fd 0
Reply With Quote
  #5 (permalink)  
Old 09-29-2001
Registered User
 

Join Date: Sep 2001
Posts: 3
Stumble this Post!
Thumbs up

Thanx. Ur comments really helped. Besides I also got to know how OS works and how to redirect stdin.

Thanx and regards
Nauman
Reply With Quote
Google The UNIX and Linux Forums
Reply

Thread Tools
Display Modes




All times are GMT -7. The time now is 02:41 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger Visit The Global Fact Book

Content Relevant URLs by vBSEO 3.2.0