Utiliser le terminal linux pour compiler en C

Fermé
Anna-prog Messages postés 1 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 4 juin 2013 - 4 juin 2013 à 00:31
mamiemando Messages postés 33378 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 novembre 2024 - 4 juin 2013 à 01:16
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 33378 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 novembre 2024 7 802
4 juin 2013 à 01:16
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