Lseek(fd,0,SEEK_END);

nadia hareb Messages postés 122 Statut Membre -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
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. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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