Bonjour,

je suis en train de débuter en C et pour un programme de lecture de fichier, je dois savoir la taille d'un fichier pour un futur calcule. J'ai fais ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
int file_length(FILE *f){
	int pos;
	int end;
	pos = ftell (f);
	fseek (f, 0, SEEK_END);
	end = ftell (f);
	fseek (f, pos, SEEK_SET);
	return end;
}
et pour le print je fais simplement

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
int filesize = file_length(fichier);
 
	printf("file size = %i\n",filesize);
D'après ce que j'ai pu lire, la valeur retournée est en Byte. Cependant j'obtiens une valeur différente que si je regarde la taille de mon fichier en faisant un clic droit sur le fichier.Je précise que je suis sous Linux 12.04 64 bits

merci de votre précieuse aide