Equivalent fscanf en win32

Signaler
Messages postés
509
Date d'inscription
samedi 28 juin 2003
Statut
Membre
Dernière intervention
3 août 2010
-
Messages postés
509
Date d'inscription
samedi 28 juin 2003
Statut
Membre
Dernière intervention
3 août 2010
-
Salut à tous!
Est-ce qu'il y a une fonction equivalente à fscanf en win32???
Merci d'avance pour les reponses.

8 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Toutes les entrees sorties fichier win32 se font par:
ReadFile(...)
WriteFile(...)
qui ne traitent que des paquets d'octets. Formatage des donnees sont a faire au prealable.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
509
Date d'inscription
samedi 28 juin 2003
Statut
Membre
Dernière intervention
3 août 2010

C'est à dire je dois traiter caractère par caractère les données avec ReadFile ?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
on ne lit jamais un fichier octet par octet, mets dans un buffer large, faut minimiser les acces disques.
MSDN donne tous les details sur ces fonctions.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
509
Date d'inscription
samedi 28 juin 2003
Statut
Membre
Dernière intervention
3 août 2010

Je mets dans un buffer d'abord le contenu du fichier, et à partir de là que je traite octet par octet ?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
Dans buffer tu mets la quantite qui te convient et tu traites suivant le but a atteindre par ton prog. Il n'y a que toi qui puisse repondre a cette question.
Si ton fichier fait 20 Go, tu ne vas bien entendu pas essayer de tout charger en 1 fois, faudra boucler.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
509
Date d'inscription
samedi 28 juin 2003
Statut
Membre
Dernière intervention
3 août 2010

Merci BruNews!
Question de taille , la taille maximale d'un buffer est-elle stritement inferieur à 0xFFFFFFFF octet ou comment?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
0xFFFFFFFF hors de question, c'est la taille theorique maxi de ton espace memoire, kernel compris.
Gere sur un buffer de 4 Mo maxi, au dela tu depasseras souvent les capacites des caches disques donc perte de perf.
1 Mo est deja souvent suffisant.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
509
Date d'inscription
samedi 28 juin 2003
Statut
Membre
Dernière intervention
3 août 2010

Ok! merci pour tous! Tchao!!!!