Redirecting Standard Input C

Newbie Member
30Jan2007,09:31   #1
Chrystian_Vieyra's Avatar
I am trying to redirect standard input to be a file, unfortunately I have not been succesful.

My command in unix to execute my c applicacion is:

a.out < file.something

However, I receive a segmentation error.

my c code to read that standard in is here:
Code:
void input()
{
 char s[1];
 scanf("%c",s[1]);
 printf("Contents %c", s[1]);
}

Last edited by shabbir; 30Jan2007 at 14:24.. Reason: Code formating.
Team Leader
30Jan2007,11:08   #2
pradeep's Avatar
Try reading this http://www.cs.odu.edu/~zeil/cs361/Le...nterCrash.html
Go4Expert Founder
30Jan2007,14:40   #3
shabbir's Avatar
The segmentation error is you are defining the size of the array as 1 and you are doing the scanf in the position 1 but it should be at 0. Also you need to specify the address of the variable and not the variable.

Try

scanf("%c",&s[0]);

Also you now know what you need to be doing with printf I guess.
Team Leader
30Jan2007,17:21   #4
DaWei's Avatar
What's the point of a one-byte array? Why not just define a char? You also might as well redirect a line at a time since the standard libraries don't fetch a character at a time. They don't give you anything until the end of the line is encountered. You have to go implementation-specific for keystroke-level input.

Last edited by DaWei; 30Jan2007 at 17:24..