Taz bisounours-codeur | pour ceux qui connaissent les fichiers à trous, je voudrais savoir si le support est assuré par le noyau ou si ce la dépend du système de fichier.
sur mon systeme (2.4.19 ext3), cela fonctionne parfaitement, c'est à dire que la taille logique est bien supérieur à la taille physique. mais quand est il des autres systemes voici un source C (pas blindé, mais facile à comprendre). si vous etes curieux...
Code :
- #include <stdio.h>
- #include <sys/stat.h>
- #include <sys/types.h>
- static const char* filename="taisteu.trous";
- int main()
- {
- FILE *fp=NULL;
- struct stat stats;
- fp=fopen(filename, "w" );
- fseek(fp, 100000000, SEEK_SET);
- fputs("Hello World!", fp);
- fclose(fp);
- stat(filename, &stats);
- printf("taille = %ld\n"
- "%lu blocks de %lu\n"
- "Merci :jap:\n",
- stats.st_size, stats.st_blocks, stats.st_blksize);
- remove(filename);
- return 0;
- }
|
|