Bonjour,

Je commence à manipuler l'API windows qui possède une très bonne documentation.

Cependant je n'arrive pas à faire fonctionner une fonction toute simple : GetFileSize(). Voici mon bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
char file[1024];
char taille[1024];
DWORD retour, fileSize;
HANDLE hFile;
 
memset(file, 0, sizeof(file));
memset(taille, 0, sizeof(taille));
 
strcpy(file, "c:\\MonDossierTest\\toto.txt");
printf("Nom du dossier : %s\n", file);
 
hFile = CreateFile(file, 0, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);
if(hFile == INVALID_HANDLE_VALUE){
    printf("Fichier inexistant : %s\n", file);
    return -1;
}
 
retour = GetFileSize(hFile, &fileSize);
if(retour == INVALID_FILE_SIZE){
    printf("Taille inconnu : %s, %lu\n", file, GetLastError());
    return -1;
}
 
printf("Taille : %lu\n", fileSize);
Ce bout de code doit normalement ouvrir mon ficher en lecture puis récupérer sa taille.
Sa taille est de 2362 octets hors la console m'affiche 0 octet je ne sais pas pourquoi ?

Merci d'avance.

PS : je sais qu'il existe la fonction GetFileSizeEx qui est plus récente mais j'aimerai faire marcher la fonction GetFileSize avant.