Search code examples
cinputio-redirection

How to use redirection in C for file input


I need to get the file from the terminal, I know the command will look like:

./a.out < fileName.txt

I'm not sure how to use fgets() in my program to use the file requested from the terminal.


Solution

  • Using redirection sends the contents of the input file to stdin, so you need to read from stdin inside your code, so something like (error checking omitted for clarity)

    #include <stdio.h>
    
    #define BUFFERSIZE 100
    
    int main (int argc, char *argv[])
    {
        char buffer[BUFFERSIZE];
        fgets(buffer, BUFFERSIZE , stdin);
        printf("Read: %s", buffer);
        return 0;
    }