Intérêt fgetpos et fpos_t ?

fonction sans intérêt dans la manipulation des fichiers ?

Le problème exposé dans ce sujet a été résolu.

Bonjour,

Je me demandais à quoi servent les fonctions fgetpos et fsetpos en C ? Elles servent à manipuler la position dans un fichier, mais à partir d’une structure fpos_t. Quand je vais voir la déclaration de la structure fpos_t je trouve encore d’autres structures qui semblent encore plus compliquées… Pourquoi tout ce "bazar" alors qu’un simple appel à ftell et fseek suffirait ? Quelle sécurité supplémentaire offrent ces fonctions ?

+0 -0

Salut,

L’intérêt de fgetpos() et fsetpos() est qu’elles permettent de gérer correctement les flux orienté caractères larges. Plus précisément, c’est un point non traité par le tutoriel, mais un « état » peut être associé à un flux. Cet état spécifie où en est le parsing du fichier. Ce n’est pas nécessaire pour de l’Unicode, mais ça l’est pour certains encodages spécifiques comme l’ISO-2022-JP pour le japonais.

Dans cet encodage, certaines séquences d’échappement changent la table de correspondance en cours de route. Dit autrement, une même valeur ne représentera pas le même caractère suivant la dernière séquence d’échappement utilisée. De ce fait, il est nécessaire de se souvenir de cette dernière séquence d’échappement sans quoi l’interprétation sera mauvaise. D’où le stockage d’un « état » en plus de la position dans la fichier. ;)

+4 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte