Utiliser le terminal linux pour compiler en C

Anna-prog Messages postés 1 Statut Membre -  
mamiemando Messages postés 34229 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, je dois réaliser un programme en C sur Linux. Je sais que pour compiler en utilisant le terminal, il faut passer par ces étapes là :

gcc -c exemple.c
gcc -o exemple exemple.o
./exemple

Le fichier .c que je compile doit ouvrir un fichier (fopen, ...). Je fait donc un printf("Entrez le nom du fichier") dans mon programme. Cependant, je voudrai savoir s'il est possible, directement sur le terminal, de faire appel à mon fichier tout en passant l'argument, comme ceci : exemple nom_du_fichier_a_ouvrir.txt.

Merci pour votre aide.
A voir également:

1 réponse

mamiemando Messages postés 34229 Date d'inscription   Statut Modérateur Dernière intervention   7 897
 
Oui tout à fait :

example.c

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv) {
    FILE       * fp;
    const char * filename;
    char       * line;
    size_t       len;

    // Contrôler le nombre d'arguments
    if (argc != 2) {
        fprintf(stderr, "usage: %s filename\n", argv[0]);
        return EXIT_FAILURE;
    }   
    
    // Ouvrir le fichier en lecture
    filename = argv[1];
    if (!(fp = fopen(filename, "r"))) {
        fprintf(stderr, "%s: cannot open %s\n", filename);
        return EXIT_FAILURE;
    }   
    
    // Lire le fichier ligne par ligne
    while (getline(&line, &len, fp) != -1) {
        printf("%s", line);
    }
    
    // Fermer le fichier, libérer la mémoire (voir man getline)
    fclose(fp);
    free(line);
    return EXIT_SUCCESS;
} 


Puis lance :

gcc -o example example.c
./example /etc/fstab


Ceci va afficher le contenu du fichier /etc/fstab.

Bonne chance
0