Hoe te gebruiken omleiding in C voor bestandsinvoer

Ik moet het bestand van de terminal ontvangen, ik weet dat de opdracht eruit ziet:

./a.out < fileName.txt

Ik weet niet zeker hoe u Fgets () in mijn programma kunt gebruiken om het gevraagde bestand van de terminal te gebruiken.


Antwoord 1, Autoriteit 100%

Door de omleiding te gebruiken, verzendt de inhoud van het ingangsbestand naar Stdin, dus u moet lezen van Stdin in uw code, dus zoiets als (foutcontrole voor duidelijkheid)

#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;
}

Antwoord 2, Autoriteit 6%

1.) U sluit Stdin en wijs vervolgens een andere bestandsbehandeling toe aan deze
2.) Vervang Stdin met een andere bestandshandler
DUP2-functie gebruiken U kunt het bereiken

Other episodes