Calcule de la taille d'un fichier texte avec langage C
Bonjour, je suis sous Win7 et je travaille avec Dev-C++,
Je souhaiterai calculer la taille d'un fichier .txt nommé text à l'aide du programme en C ci-dessous (le prgC et le fichier sont dans le même dossier).
Le programme se compile et renvoie TAILLE : -1 au lieu de la vrai taille du fichier (4 096 octets),
Si j’enlève ("main.c") à la fin du programme il me renvoie TAILLE : 4199056
qlqn pourrait-il me dire quelle est l'erreur dans ce programme
merci d’avance
------------------------------------------------------
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
| #include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
long file_size(char *text)
{
/*Ouverture du fichier*/
FILE *file = fopen(text, "r");
long ret;
if(file == NULL)
{
return -1;
}
/*On place le curseur à la fin*/
fseek(file, 0, SEEK_END);
/*On récupére la position courante*/
ret = ftell(file);
fclose(file);
return ret;
}
int main(int argc, char *argv[])
{
printf("TAILLE : %ld\n", file_size("main.c"));
Sleep(2000);
return 0;
} |