Sous Windows, n'y a-t-il aucun moyen d'obtenir l'emplacement actuel d'un pointeur de fichier? Par exemple, si j'utilise SetFilePointer
, et que je veux déterminer les informations de localisation dans le fichier, le pointeur de fichier s'est fermé après la recherche?Obtenir l'emplacement d'un pointeur de fichier
Répondre
La valeur de retour de cette fonction vous indique la nouvelle position. the documentation cite:
Si la fonction réussit et lpDistanceToMoveHigh est NULL, la valeur de retour est le DWORD faible du nouveau pointeur de fichier.
Remarque Si la fonction retourne une valeur autre que INVALID_SET_FILE_POINTER, l'appel à SetFilePointer a réussi. Vous n'avez pas besoin d'appeler GetLastError.
Si la fonction réussit et lpDistanceToMoveHigh n'est pas NULL, la valeur de retour est le DWORD faible du nouveau pointeur de fichier et lpDistanceToMoveHigh contient le haut DWORD ordre du nouveau pointeur fichier .
Si vous voulez découvrir l'emplacement actuel sans déplacer, puis passer une « méthode de déplacement » de FILE_CURRENT
et une distance de zéro.
La documentation contient également un exemple d'intégration de cette fonction dans une fonction qui ne nécessite pas de diviser les parties supérieure et inférieure de la position en variables distinctes.
SetFilePointer
renvoie le nouveau pointeur de fichier, mais ne fonctionne que pour les décalages de fichier < 4GB. Si vous souhaitez gérer des fichiers plus volumineux, utilisez SetFilePointerEx
.
Si vous souhaitez simplement récupérer la position actuelle, utilisez FILE_CURRENT avec un décalage de zéro.
Vous pouvez utiliser:
high_dword = 0;
low_dword = SetFilePointer(file, 0, &high_dword, FILE_CURRENT);
pos = high_dword << 32 | low_dword
- 1. pointeur d'ouverture de fichier
- 2. Obtenir nom du pointeur de fichier dans C
- 3. Obtenir l'adresse d'un pointeur
- 4. Position du pointeur de fichier
- 5. cpp/C++ obtenir la valeur de pointeur ou depointerize pointeur
- 6. Obtenir avertissement avec un pointeur vers un pointeur et NSError
- 7. obtenir un pointeur pour CallInst?
- 8. Scheme, obtenir le pointeur de struct pointu
- 9. position de pointeur de fichier PHP fread
- 10. Problèmes de pointeur de fichier texte C++
- 11. pointeur de fichier et l'utilisation de fgets
- 12. Pointeur FICHIER C++ sur stdout?
- 13. iOS: décalage pointeur octet sur un fichier?
- 14. Retour du mauvais pointeur de fichier
- 15. Comment déplacer le pointeur de fichier
- 16. mouvement du pointeur de fichier pour getline
- 17. obtenir null pointeur lors de la lecture du fichier de propriétés
- 18. Détour pour obtenir un pointeur global?
- 19. Comment obtenir un nouveau pointeur en Java?
- 20. Comment obtenir le nom du pointeur
- 21. Obtenir un pointeur vers IMAGE_DOS_HEADER avec GetModuleHandle?
- 22. Obtenir un pointeur null sur listview
- 23. Obtenir l'adresse d'un pointeur triple à carboniser
- 24. J2ME getDisplay obtenir null pointeur exception
- 25. Problème de pointeur au pointeur
- 26. * Pointeur = - * Pointeur?
- 27. Comment obtenir l'adresse du pointeur de pile de base
- 28. Création d'objet fstream d'un fichier * pointeur
- 29. Avertissements avec pointeur utilisant le fichier .cfg
- 30. position du pointeur d'affichage du fichier
... J'ai lu la documentation sur ce un bon 5 fois et n'a même pas vu cela. Merci monsieur, je vais aller prendre un café ... –