Lseek(fd,0,SEEK_END);

nadia hareb Messages postés 122 Statut Membre -  
lami20j Messages postés 21644 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);

2 réponses

lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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