p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité de passage
    Profil pro
    Inscrit en
    juillet 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : juillet 2012
    Messages : 1
    Points : 0
    Points
    0

    Par défaut Tester si un fichier est vide

    Bonjour à tous,

    Je suis amylton, nouveau sur ce site et je compte contribué au langage C en proposant des codes sources tant simple que complexe. Pour résumer, étant débutant en langage C, j'ai décidé, au lieu de chercher des exemples de projets à réaliser qui me prendraient tout mon temps, de faire un site qui regroupe des programmes en C que j'ai réalisé(le lien est ici http://codeplus.e-monsite.com/).

    Pour commencer, un petit programme qui teste si un fichier est vide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    int testSiFichierVide(FILE* fichier)
    {
        int caracterePremier = 0;
     
        //On lit le prmeier caractère du fichier
        caracterePremier = fgetc(fichier);
        if(caracterePremier==EOF)
        {
            return 1;//le fichier est vide donc on retourne 1
        }
        return 0;//le fichier n'est pas vide donc on retourne 0
    }
     
    int main(int argc, char *argv[])
    {
        FILE* fichier = NULL;
     
        fichier = fopen("test.txt", "r");
     
        if (fichier != NULL)
        {
            if(testSiFichierVide(fichier)==1)
            {
                printf("Le fichier est vide");
            }
            else
            {
                printf("Le fichier n'est pas vide");
            }
            fclose(fichier);
        }
        else
        {
            // On affiche un message d'erreur si on veut
            printf("Impossible d'ouvrir le fichier test.txt");
        }
     
        return 0;
    }
    Qu'en pensez-vous?

  2. #2
    Responsable Modération
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    septembre 2007
    Messages
    5 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2007
    Messages : 5 996
    Points : 16 855
    Points
    16 855

    Par défaut

    Bonjour et bienvenue,

    Sans vouloir tuer une vocation dans l'œuf, cette méthode a l'intérêt de se cantonner au C standard strict, mais est peu efficace à l'usage et surtout, elle risque d'engendrer beaucoup d'effets de bord. Il vaut mieux, dans ce cas, faire de la programmation système en utilisant les fonctions de son O.S.

    On en discutait notamment ici : http://www.developpez.net/forums/d64...-fichier-vide/

    Bon courage pour la suite.

  3. #3
    Modérateur
    Avatar de Bktero
    Profil pro
    Ingénieur systèmes embarqués
    Inscrit en
    juin 2009
    Messages
    2 961
    Détails du profil
    Informations personnelles :
    Âge : 28
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2009
    Messages : 2 961
    Points : 7 466
    Points
    7 466
    Billets dans le blog
    1

    Par défaut

    Salut !

    L'idée est bonne quand on débute : faire des petites fonctions simples mais efficaces pour se construire une "bibliothèque" pour ses futurs programmes et pour s'entrainer. Sauf que souvent quand on commence (et même après en fait...), pas facile de faire des codes robustes, portables et complets. J'ai regardé un peu ton site, on voit des choses que font les débutants (comme des scanf pour récupérer les choix des utilisateurs : pratique et simple mais pas du tout robuste). N'hésite pas avec le temps à compléter et modifier tes sources et demander des conseils.

    Bon courage
    Si Code::Blocks vous dit undefined reference to 'socket@12', cela signifie que vous avez un problème d'édition des liens. Allez dans Projects / Build Options / Linker Settings / Add et renseignez ici les .a qui vont bien. Exemple pour les sockets : C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a

    Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^

    Pour vos problèmes d'embarqué, utilisez le forum dédié !

Discussions similaires

  1. Tester si un fichier est vide + recup valeur dans ce fichier
    Par Johann7751 dans le forum Débuter
    Réponses: 2
    Dernier message: 26/02/2009, 15h51
  2. [Shell] Tester si un fichier est vide
    Par Spitfire378 dans le forum Linux
    Réponses: 3
    Dernier message: 10/02/2008, 12h18
  3. [VB 6.0] Tester si un fichier est vide
    Par maxou75 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 19/12/2006, 18h06
  4. Tester si un fichier est vide ?
    Par stepd dans le forum Réseau
    Réponses: 15
    Dernier message: 27/07/2006, 19h04
  5. Ksh - tester si un fichier est vide ou pas?
    Par mzt.insat dans le forum Linux
    Réponses: 1
    Dernier message: 25/04/2006, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo