mercredi 22 avril 2009

Difference de taille entre du et ls

Difference de taille entre du et ls :


exemple : Ce programme reproduit le fonctionnement de ls : on se positionne au début du fichier et on se déplace jusqu'a la fin et on compte le deplacement


#include
#include
#include

long fileSize(char *FileName)
{
FILE *fp;
long fileLen;

fp = fopen(FileName,"r");
fseek(fp,0L, SEEK_END);
fileLen = ftell(fp);
fclose(fp);
return fileLen;

}


main(argc,argv)
int argc;
char **argv;

{

printf(" Taille de %s : %d bytes \n",argv[1],fileSize(argv[1]));

}


ew43punix1:root # dd if=/dev/zero of=./sparsefile seek=945616 bs=1024 count=10

10+0 records in.

10+0 records out.

ew43punix1:root # ll

/u/eym674h/dev/ls

total 395

drwxr-sr-x 2 root 200 512 Jan 10 11:53 ./

drwxrwsrwx 26 root 200 1024 Jan 10 11:37 ../

-rwxr-xr-x 1 root 200 198749 Jan 10 11:51 sizefile*

-rw-r--r-- 1 root 200 363 Jan 10 11:51 sizefile.c

-rw-r--r-- 1 root 200 968321024 Jan 10 12:00 sparsefile



ew43punix1:root # du -sk *


184 sizefile

1 sizefile.c

3 sparsefile <==== !!!


ew43punix1:root # ./sizefile sparsefile

Taille de sparsefile : 968321024 bytes <==== !!!


Aucun commentaire:

Enregistrer un commentaire