Tutorial d'initiation A la programmation avec l'API Windows
Tutorial d'initiation a la programmation Windows avec Microsoft Visual C++
Chapitre 4Le système de fichier3. Lecture/Ecriture dans un fichier
Cours théorique :
Avant de pouvoir lire ou écrire dans un fichier, il faut réaliser un appel à CreateFile(). Le HANDLE retourné permettra d'identifier le fichier dans lequel on souhaite effectuer les opérations. La fonction ReadFile() permet la lecture dans un fichier. Elle déplace le pointeur courant à la nouvelle position. ReadFile() lit le nombre d'octets spécifiés et retourne un indicateur booléen, ainsi que le nombre d'octets lus. ReadFile() retournera toujours TRUE si le pointeur sur le fichier est valide. Pour détecter la fin du fichier, il faut comparer le nombre d'octets lus au nombre d'octets demandés. Si 256 octets sont demandés à la lecture et que ReadFile() indique que seulement 18 octets ont été lus, alors la fin du ficher est atteinte.
La fonction WriteFile() a un mode de fonctionnement similaire à ReadFile(). Elle écrit le nombre d'octets demandé, retourne un indicateur de succès ainsi que le nombre d'octets effectivement écrits.
Pour déplacer le pointeur courant on utilise la fonction SetFilePointeur(). La nouvelle position peut être spécifiée à partir du début du fichier, de la position courante du fichier ou de la fin du fichier. Cette fonction retourne la nouvelle position. Pour obtenir la position courante du pointeur, on appelle SetFilePointeur() en demandant un déplacement nul à partir de la position courant. On récupère ainsi la position courante du pointeur.
La fonction SetEndOfFile() détermine la position de la fin du fichier. La fin du fichier est alors placée à la position courante du pointeur.
|