ecriture en binaire vs indirect
bonsoir ,
j'ai un peu teste les different mode d'ecritures et il y'a une grande difference que je ne comprend pas .
voila le code qui est tres simple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| #include<stdio.h>
#include<stdlib.h> /*pour la fonction exit*/
#define MAX 5
int main(void){
FILE *fp;
int t[5]={1,2,3,4,5};
int i=0;
if( (fp = fopen("test.txt","wb")) == NULL ){
perror("ouverture en ecriture");
exit(1);
}
fwrite(t,sizeof(int),MAX,fp);
printf("%ld\n",ftell(fp));/*affiche 20*/
fclose(fp);
if( (fp = fopen("test2.txt","w"))== NULL ){
perror("ouverture en ecriture");
exit(2);
}
for(i=0;i<MAX;i++)
fprintf(fp,"%d ",t[i]);
printf("%ld\n",ftell(fp));/*affiche 10*/
fclose(fp);
return 0;
} |
pourquoi en binaire le ftell m'affiche 20 et en normale il m'affiche 10 . alors que c'est la meme serie de nombre , je ne vois donc vraiment pas comment on peux se depacer sur un fichier en mode binaire ?
donc dois-je conclure que l'ecriture en mode binaire prend une grande place ?et surtous pourquoi ?
en esperant avoir ete claire , je vous souhaite une bonne nuit .