IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

Tester si un fichier est vide ?


Sujet :

Réseau C

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 75
    Points : 48
    Points
    48
    Par défaut Tester si un fichier est vide ?
    Bonjour,

    J'écris un programme en C sous Unix et je voudrais tester si un fichier est vide ou non.
    Existe-t'il une fonction permettant de le faire ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    la fonction stat est faite pour ça je crois (pas spécialiste du tout d'Unix).
    Bingo, trouvé sur Internet
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    Nom
    stat, fstat, lstat - Obtenir le statut d'un fichier (file status). 
    Synopsis
    #include <sys/types.h> 
    #include <sys/stat.h> 
    #include <unistd.h> 
    int stat(const char *file_name, struct stat *buf); 
    int fstat(int filedes, struct stat *buf); 
    int lstat(const char *file_name, struct stat *buf); 
     
    Description
    Ces fonctions renvoient des informations à propos du fichier indiqué. Vous n'avez besoin d'aucun droit d'accès au fichier pour obtenir les informations, mais vous devez avoir le droit de parcours de tous les répertoires mentionnés dans le chemin menant au fichier. 
     
    stat récupère le statut du fichier pointé par file_name et remplit le buffer buf. 
     
    lstat est identique à stat, sauf qu'il donne le statut d'un lien lui-même et non pas du fichier pointé par ce lien. 
     
    fstat est identique à stat, sauf que le fichier ouvert est pointé par le descripteur filedes, obtenu avec open(3) . 
     
     
    Les trois fonctions retournent une structure stat contenant les champs suivants : 
     
    La valeur st_blocks donne la taille du fichier en blocs de 512 octets. La valeur st_blksize indique la taille de bloc "préférée" pour les entrées/sorties du système (l'écriture dans un fichier par petits morceaux peut induire de nombreuses étapes lecture-modification-écriture peu efficaces). 
     
    Les systèmes de fichiers de Linux n'implémentent pas tous les champs "time". Certains systèmes de fichiers autorise le montage de telle manière que les accès ne modifient pas le champ st_atime (voir l'option `noatime' de mount(8) ). 
    Le champ st_atime est modifié par les accès au fichier, c'est à dire avec exec(2) , mknod(2) , pipe(2) , utime(2) et read(2) (d'au moins un octet). D'autres routines, comme mmap(2) , peuvent ou non mettre à jour ce champ st_atime. 
     
    Le champ st_mtime est modifié par des changements sur le fichier lui-même, c'est à dire mknod(2) , truncate(2) , utime(2) et write(2) (d'au moins un octet). D'autre part le champ st_mtime d'un répertoire est modifié lors de la création ou la suppression de fichiers en son sein. Le champ st_mtime n'est généralement pas mis à jour lors de modification de propriétaire, groupe, mode ou nombre de liens physiques. 
     
    Le champ st_ctime est modifié lors d'une écriture, une lecture, ou une modification de données concernant l'i-noeud (propriétaire, groupe, mode, etc...) 
     
    Les macros POSIX suivantes sont fournies pour vérifier le type de fichier : 
     
    S_ISLNK(m) 
    est-ce un lien symbolique ? 
    S_ISREG(m) 
    un fichier régulier ? 
    S_ISDIR(m) 
    un répertoire ? 
    S_ISCHR(m) 
    un péripherique en mode caractère ? 
    S_ISBLK(m) 
    un périphérique en mode blocs ? 
    S_ISFIFO(m) 
    une FIFO ? 
    S_ISSOCK(m) 
    une socket ? 
    Les attributs suivants correspondent au champ st_mode: 
     
     
     
     
     
    Le bit Set-GID (S_ISGID) a plusieurs utilisations particulières : pour un répertoire, il indique que la sémantique BSD doit être appliquée en son sein, c'est à dire que les fichiers qui y sont créés héritent leur GID du répertoire et non pas du GID effectif du processus créateur, et les sous-répertoire auront automatiquement le bit S_ISGID actif. Pour les fichiers qui n'ont pas d'autorisation d'exécution pour le groupe (S_IXGRP non actif), ce bit indique qu'un verrouillage strict est en vigueur sur ce fichier. 
     
    Le bit `sticky' (S_ISVTX) sur un répertoire indique que les fichiers qui s'y trouvent ne peuvent être renommés ou effacés que par leur propriétaire, par le propriétaire du répertoire ou par root. 
     
    Valeur Renvoyée
    Ces fonctions retournent zéro si elles réussissent. En cas d'echec -1 est renvoyé, et errno contient le code d'erreur. 
    Erreurs
    EBADF 
    filedes est un mauvais descripteur. 
    ENOENT 
    Un composant de file_name n'existe pas, ou il s'agit d'une chaine vide. 
    ENOTDIR 
    Un composant du chemin d'accès n'est pas un répertoire. 
    ELOOP 
    Trop de liens symboliques rencontrés dans le chemin d'accès. 
    EFAULT 
    Un pointeur se trouve en dehors de l'espace d'adressage. 
    EACCES 
    Autorisation refusée. 
    ENOMEM 
    Pas assez de mémoire pour le noyau. 
    ENAMETOOLONG 
    Nom de fichier trop long 
    Exemple
     
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/stat.h>
    #include <unistd.h>
    int
    main (int nb_args, char * args [])
    {
        struct stat    sts;
        if (nb_args != 2) {
            fprintf (stderr, "syntaxe : %s <fichier>\n", args [0]);
            exit (1);
        }
     
        if ( stat (args [1], & sts) != 0) {
            fprintf (stderr, "%s : erreur %X\n", args [0], errno);
            exit (1);
        }
     
        fprintf (stdout, 
            "Périphérique : %d\n",
            sts . st_dev);
        fprintf (stdout, 
            "Noeud : %ld\n", 
            sts . st_ino);
        fprintf (stdout,
            "Protection : %o\n",
            sts . st_mode);
        fprintf (stdout,
            "nb liens matériels: %d\n",
            sts . st_nlink);
        fprintf (stdout,
            "ID propriétaire : %d\n",
            sts . st_uid);
        fprintf (stdout,
            "ID groupe: %d\n",
            sts . st_gid);
        fprintf (stdout,
            "Taille : %lu octets\n",
            sts . st_size);
        fprintf (stdout,
            "Taille de bloc : %lu\n",
            sts . st_blksize);
        fprintf (stdout,
            "Nombre de blocs : %lu\n",
            sts . st_blocks);
    }
    [Edit] Zéro Pointé : il manque le return au main
    Je dénonce http://www.linux-kheops.com/doc/man/...at.2.html#toc0
    [/edit]
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par Trap D
    [Edit] Zéro Pointé : il manque le return au main
    Je dénonce http://www.linux-kheops.com/doc/man/...at.2.html#toc0
    [/edit]
    C'est pas la première fois que je remarque que leurs pages ne sont pas à jour (traduction datant de 1997), suffit de connaitre les bonnes adresses : http://man.developpez.com/man2/stat.2.php

  4. #4
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Ouais, bon, ça fait que 3 ans que je visite DVP, je ne peux pas tout connaître :
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 75
    Points : 48
    Points
    48
    Par défaut
    je viens d'essayer mais à la compil j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (Bundled) cc: "sdPCCFT046.c", line 28: error 1580: Formal parameter "sts" is not in parameter list.
    Voici mon programme :
    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
     
    #include <stdio.h>
    #include <fcntl.h>
    #include <stdlib.h>
    #include <ctype.h>
    #include <string.h>
    #include <sys/stat.h>
    #include <unistd.h>
    #include <sys/types.h>
     
     
    void main(argc,argv,ret)
    int argc;
    char *argv[];
    int ret;
    struct stat sts;
     
    {
     
      /* Declaration des variables */
     
      FILE 	*file_in;
      FILE 	*file_out;
      char ligne[1024];
      int trouve = 0;
     
      /* Test du nombre d arguments */
     
      if (argc!=3)
      	{
      	puts("le nombre d'argument est incorrect");
      	printf("\n   Le format est %s <fichier source> <fichier cible>  \n",argv[0]);
      	exit(0);
      	}
     
        if ( stat (argv [3], & sts) != 0) {
            printf(stderr, "%s : erreur %X\n", argv [3]);
            exit (1);
        }

  6. #6
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Y'a comme une erreur ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void main(argc,argv,ret)
    int argc;
    char *argv[];
     
    int ret; <== ici
    struct stat sts; <== et là
    Ton accolade est mal placée, en plus c'est int main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void main(argc,argv,ret)
    int argc;
    char *argv[];
    int ret;
    {
    struct stat sts;
    C'est quoi ce main avec int ret dans les arg ????
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  7. #7
    Membre averti
    Avatar de Foobar1329
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 283
    Points : 387
    Points
    387
    Par défaut
    Hello,

    Citation Envoyé par stepd
    je viens d'essayer mais à la compil j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (Bundled) cc: "sdPCCFT046.c", line 28: error 1580: Formal parameter "sts" is not in parameter list.
    Voici mon programme :
    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
     
    #include <stdio.h>
    #include <fcntl.h>
    #include <stdlib.h>
    #include <ctype.h>
    #include <string.h>
    #include <sys/stat.h>
    #include <unistd.h>
    #include <sys/types.h>
     
     
    void main(argc,argv,ret)
    int argc;
    char *argv[];
    int ret;
    struct stat sts;
    C'est du bon old school à la K&R. Or, sts n'est pas dans la liste des paramètres de la fonction main. Il m'est d'avis que sa place n'est pas là. Je ne sais pas ce que c'est ret mais cela m'étonne que ce soit un int. On voit souvent un 'char *const env []' en 3 ième paramètre (non standard) pour passer des variables d'environnement au programme mais là pour ret, je sèche. De toute façon, je ne le vois pas utilisé.

    Tu pourrais réécrire
    int main(int argc, char *argv[]) { ...

    Citation Envoyé par stepd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    {
     
      /* Declaration des variables */
     
      FILE 	*file_in;
      FILE 	*file_out;
      char ligne[1024];
      int trouve = 0;
    struct stat sts; à ce niveau.

    Citation Envoyé par stepd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
      /* Test du nombre d arguments */
     
      if (argc!=3)
      	{
      	puts("le nombre d'argument est incorrect");
      	printf("\n   Le format est %s <fichier source> <fichier cible>  \n",argv[0]);
      	exit(0);
      	}
     
        if ( stat (argv [3], & sts) != 0) {
            printf(stderr, "%s : erreur %X\n", argv [3]);
            exit (1);
        }
    return 0;
    }

  8. #8
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par Trap D
    Ouais, bon, ça fait que 3 ans que je visite DVP, je ne peux pas tout connaître :
    C'est pourtant marqué "Expert Confirmé". Pff ces jeunes, j'te jure

    J'avais des trucs intelligent (si, si c'est vrai) mais Foobar1329 a été plus rapide.

    Ah si pour tester le taille d'un fichier, tu peux l'ouvrir et utiliser fseek/ftell pour te positionner à la fin du fichier et lire l'offset (s'il est égale à zéro c'est que le fichier est vide).

  9. #9
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    C'est du bon old school à la K&R
    . Ça d'accord, mais le ret dans les arg de main, no comprendo ????
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  10. #10
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Citation Envoyé par gege2061
    C'est pourtant marqué "Expert Confirmé". Pff ces jeunes, j'te jure

    J'avais des trucs intelligent (si, si c'est vrai) mais Foobar1329 a été plus rapide.

    Ah si pour tester le taille d'un fichier, tu peux l'ouvrir et utiliser fseek/ftell pour te positionner à la fin du fichier et lire l'offset (s'il est égale à zéro c'est que le fichier est vide).
    Merci pour "ces jeunes", ça me fait du bien
    La méthode fseek/ftell est la seule portable je crois quand on n'a pas stat.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  11. #11
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    La méthode la plus simple et la plus portable est d'ouvrir le fichier, de tenter une lecture d'un byte et de vérifier si celle-ci a échoué pour cause de fin de fichier.

    Les autres méthodes soit dépendent de Linux (en fait Posix) ou d'un système pour lequel ftell retourne une valeur interprétable (ce qui n'est pas garanti).
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  12. #12
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    ftell ne renvoie pas toujours une valeur valide ?
    Si le fichier est trop gros c'est ça ?
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  13. #13
    Membre averti
    Avatar de Foobar1329
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 283
    Points : 387
    Points
    387
    Par défaut
    Citation Envoyé par Trap D
    Merci pour "ces jeunes", ça me fait du bien
    La méthode fseek/ftell est la seule portable je crois quand on n'a pas stat.

    Pourquoi un simple fgetc() ne suffirait pas ?

    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
    #include <stdio.h>
     
    int isEmpty(char const * pFilePathStr)
    {
        int rc = 0;
        if (pFilePathStr) {
           FILE * fp = NULL;
           fp = fopen(pFilePathStr, "r");
           rc = ( fp && fgetc(fp) == EOF && !ferror(fp) ) ? 1 : 0; 
           if (fp) { fclose(fp), fp = NULL; }
        }
        return rc;
    }
     
    int main(int argc, char ** argv)
    {
        if (argc == 2) {
            printf("%s is %s\n", argv[1], ( isEmpty(argv[1]) ? "empty" : "not empty (or something else occurred: opening failure, read error, ...)" ) );
        }
        else {
            fprintf(stderr, "Usage: cef <file>\n");
        }
        return 0;
    }
    A+

  14. #14
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par Foobar1329
    Pourquoi un simple fgetc() ne suffirait pas ?
    Dis donc, tu aimes bien l'opérateur ternaire (?) !

  15. #15
    Membre averti
    Avatar de Foobar1329
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 283
    Points : 387
    Points
    387
    Par défaut
    Citation Envoyé par DaZumba
    Dis donc, tu aimes bien l'opérateur ternaire (?) !
    Oui, et les points de séquence aussi

    A+

  16. #16
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Trap D
    ftell ne renvoie pas toujours une valeur valide ?
    Rien (enfin, si POSIX si j'ai bonne mémoire) ne garanti qu'elle soit interprétable comme étant une distance en bytes depuis le début du fichier.

    Si le fichier est trop gros c'est ça ?
    Ce n'est pas le problème auquel je pensais, mais il existe aussi.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

Discussions similaires

  1. [POI]: Tester si un fichier est vide
    Par mouss4rs dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 06/03/2012, 18h10
  2. Tester si un fichier est vide + recup valeur dans ce fichier
    Par Johann7751 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 26/02/2009, 15h51
  3. [Shell] Tester si un fichier est vide
    Par Spitfire378 dans le forum Linux
    Réponses: 3
    Dernier message: 10/02/2008, 12h18
  4. [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
  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