Formations à l'informatique et à l'électronique

Auteur : SD
Créé le : 03-12-2022

Langage C - Projet "Ping Them All" - Partie 2

Retour vers la partie 1 La suite (partie 3)

Version 3 – Lecture d’un fichier

Dans sa version actuelle, le programme n’est pas pratique à utiliser pour l’utilisateur. En effet, si il veut modifier la liste des machines à "pinguer" il doit modifier le code source du programme et le recompiler...

Dans cette partie vous allez modifier votre programme pour que celui-ci vienne lire la liste des machines dans un fichier texte "hosts-list.txt". Ce fichier remplacera donc le tableau à 2 dimensions utilisé dans les versions précédentes.

Le fichier "hosts-list.txt" contiendra une machine par ligne. Exemple :

8.8.8.8
8.8.4.4
10.0.0.1
192.168.1.1
172.19.1.254
www.google.fr
www.google.fra
www.ac-lyon.fr
www.undomaineinconnu.fr

D’un point de vu visuel, l’affichage reste le même que la version précédente.

Aide

Exemple de code qui lit un fichier ligne par ligne et qui les affichent à l’écran :

#include <stdio.h>
#include <windows.h>

#define TAILLE_MAX 255  // Taille 255 qui servira pour le tableau dans
                        // lequel nous lirons le fichier ligne par ligne
int main()
{   
    FILE* fichier = NULL;

    char strVille[TAILLE_MAX] = ""; // Chaîne vide dans le tableau strVille (taille = TAILLE_MAX)

    // Ouverture du fichier "liste-villes.txt" en mode lecture (r : Read)
    fichier = fopen("liste-villes.txt", "r");

    // Lecture du fichier lignes par lignes avec "fgets", résultat dans
    // strVille limité à TAILLE_MAX pour ne pas déborder du tableau
    while((fgets(strVille, TAILLE_MAX, fichier))) { 
        printf("%s", strVille); // Affiche la chaine de caract. strVille
    }

    // Fermeture du fichier
    fclose(fichier);

    // Pour éviter que la fenêtre se ferme à la fin du programme
    printf("\n\n");
    system("pause");

    return 0;
}

Faire constater au professeur

Retour vers la partie 1 La suite (partie 3)


Vous avez apprécié cet article ? Partagez le !