Lseek(fd,0,SEEK_END);

Bonjour,
c'est koi l'utilité de ces deux comendes
bzero(ligne,sizeof(ligne));
lseek(fd,0,SEEK_END);
Configuration: Windows XP
Firefox 2.0.0.4

2 réponses

  1. Modérateur
    Salut,

    fseek et portable
    Voici un exemple
    #include<stdio.h>
    
    int main()
    {
            FILE *F;
            char s[50];
            int N;
            if(NULL==(F=fopen("fic.txt","rb")))
                    return 1;
            /* lecture de fichier */
            fscanf(F,"%d",&N);
            fscanf(F,"%s",s);
            printf("%d et %s\n",N,s);
            N=0;
            s[0]='\0';
    
            /* positionner au debut de fichier */
            fseek(F,0,SEEK_SET);
    
            fscanf(F,"%d",&N);
            fscanf(F,"%s",s);
            printf("%d et %s\n",N,s);
            N=0;
            s[0]='\0';
    
            /* retour 4 octets (char) */
            fseek(F,-4,SEEK_CUR);
            fscanf(F,"%d",&N);
            fscanf(F,"%s",s);
            printf("%d et %s\n",N,s);
            N=0;
            s[0]='\0';
    
            /* positionner à la fin de fichier */
            fseek(F,0,SEEK_END);
            fscanf(F,"%d",&N);
            fscanf(F,"%s",s);
            printf("%d et %s\n",N,s);
    
            return 0;
    }
    
    1
    1. Modérateur
      Salut,

      bzero mets les n premiers octets à zéro
      Par exemple dans le cas d'un integer qui a la taille de 4 octets on voit bien dans l'exemple suivant que 1 et 2 qui chaque fait 4 octets ont été remplacé par zéro

      En ce qui concerne l'utilité, je pense qu'une fois que tu connais le fonctionnement des fonctions, par la suite en fonction de tes besoins tu trouveras où tu as besoin de telle ou telle fonction ;-)
      lami20j@debian:~/trash$ cat ccm39_bzero.c
      #include<stdio.h>
      #include<string.h>
      
      int main()
      {
              int tab[5] = { 1, 2, 3, 4, 5 };
              int i;
              for(i=0;i<5;++i)
                      printf("%d",tab[i]);
              printf("\n");
              bzero(tab,8);
              for(i=0;i<5;++i)
                      printf("%d",tab[i]);
              printf("\n");
              return 0;
      }
      lami20j@debian:~/trash$ gcc ccm39_bzero.c
      lami20j@debian:~/trash$ ./a.out
      12345
      00345
      lami20j@debian:~/trash$
      1