Comment trouver la fin d'un fichier avec fonctions windows

Résolu
dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009 - 27 avril 2009 à 11:50
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 27 avril 2009 à 14:06
Bonjour, je voudrais détecter la fin de mon fichier en termes de caractères.
J'ai essayé avec la fonction (feof) mais elle ne me donne pas mon dernier caractère...
Comment faire?

Merci

3 réponses

Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
27 avril 2009 à 14:06
Salut
Utilise la fonction GetFileSize() pour connaitre la taille de ton fichier en octet.
Et plus généralement regarde dans la msdn ici pour les autres fonctions disponibles.
A+

____________________________________________________________________________
Mon site internet :  
http://ImAnalyse.free.fr
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 avril 2009 à 12:23
feof ??? inconnu en fonction Windows.


Avec:
hfl : handle de fichier ouvert en lecture
buf : buffer qui recevra les octets du fichier
QT : nbr octets qu'on veut aspirer dans buf[]


DWORD rw;


ENCOREOCTETS:
ReadFile(hfl, buf, QT, &rw, 0);
if(!rw) goto FINIOCTETS; // ON EST AU BOUT, PLUS RIEN
//
// ICI TRAITER CE QU'IL Y A DANS buf
//
// NOW ON VERIFIE SIL CONVIENT DE BOUCLER SUR FICHIER
// OU SI ON A DEJA TOUCHE LA FIN
if(rw == QT) goto ENCOREOCTETS;
FINIOCTETS:
CloseHandle(hfl);

ciao...
BruNews, MVP VC++
0
dante20007 Messages postés 61 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 27 avril 2009
27 avril 2009 à 13:27
Ce code permet de détecter la fin des données de mon buffer.
Mais moi je veux détecter la fin des données d'un fichier texte dont la taille change pour chaque fichier.
N'existe t'il pas une fonction me donnant la position du dernet octet?

Merci
0
Rejoignez-nous