Langage C:récupéré taille d1 fichier

Lu à tous,

J'ai beaucoup de mal avec le C alor j'ai besoin d'aide. Dans mon prog j'ai besoin de récupéré la taille d'1 fichier,coment faire?

merci davance

2 réponses

  1. Contributeur
    salut, si t'es en posix (sous linux) il ya une structure (je pense stat) qui a un champ qui contient la taille du fichier.

    Sinon, en C ansi, tu ouvres ton fichier en lecture, tu te places sur le dernier octet, tu lis le numero de l'octet et c'est la taille de ton fichier (bon bien sur c'est juste la taille absolue, taille réelle ds le disque, jej ne sais pas, puisq'il ya le nom et les differentes tables qui contiennent les references vers les differents blocs).

    tafiscobar "lou waye def bopame"
    la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
    0
    1. il y'a plus simple pour compter le nombre de caractères d'un fichier sans utilise de fonctions sur les fichiers :

      while(!feof(fichier))
      if (getc(fichier) != EOF) taille++;
      printf("dernière position via compteur : %d\n",taille);
      0
      1. Contributeur
        14 ans après...
        Sinon la question n'est pas le nombre de caractères mais la taille du fichier...
        0
      2. @fiddySi le fichier a été ouvert en mode binaire plutôt que texte, le nombre de caractère est égal au nombre d'octets donc à la taille du fichier.
        La méthode C ANSI de tafiscobar, fonctionne et est plus simple et plus optimale.
        0
      3. Contributeur
        Le nombre de caractères donnera le nombre de bytes (pas d'octets). Donc le lien avec la taille du fichier n'est plus aussi évident. Il faut faire une multiplication après.
        Bref, le plus simple est la méthode de tafiscobar :-).
        0