SEEK |
Position |
---|---|
Perl |
Syntaxe
seek filehandle,position,whence |
Paramètres
Nom | Description | ||
---|---|---|---|
filehandle | Ce paramètre permet d'indiquer la ressource de fichier Handle associé au fichier à positionner. | ||
position | Ce paramètre permet d'indiquer la nouvelle position du pointeur en octets. Le calcul du déplacement est effectué en fonction du paramètre «whence». | ||
whence | Ce paramètre permet d'indiquer comment est calculé le déplacement : | ||
Constante | Valeur | Description | |
SEEK_SET | 0 | Cette constante permet d'indiquer que le calcul de la position est effectué de façon absolue, c'est-à-dire à partir du début du fichier. | |
SEEK_CUR | 1 | Cette constante permet d'indiquer que le calcul de la position est effectué à partir de la position de la position actuel du pointeur du fichier. | |
SEEK_END | 2 | Cette constante permet d'indiquer que le calcul de la position est effectué à partir de la fin du fichier. |
Description
Cette fonction permet de positionner le pointeur d'un fichier.
Remarques
- Cette fonction positionne le pointeur de fichier pour filehandle, tout comme l'appel fseek des entrées/sorties standard. La première position dans un fichier est au déplacement 0, pas au déplacement 1. En outre, les déplacements font référence aux positions d'octets, pas aux positions de caractères ou aux numéros de ligne. En général, elle examine l'ensemble du fichier jusqu'à ce point, sauf si toutes vos lignes sont connues pour être d'une longueur particulière, ou si vous avez créé un index convertissant les numéros de ligne en déplacements d'octets. (Les mêmes restrictions s'appliquent aux positions des caractères dans les fichiers avec des encodages de caractères de longueur variable comme UTF-8 et UTF-16 : le système d'exploitation ne sait pas ce que sont les caractères, seulement les octets.)
- Le paramètre filehandle peut être une expression dont la valeur donne soit le nom du filehandle actuel, un typeglob, soit une référence à tout ce qui ressemble à un objet filehandle. La fonction renvoie vrai en cas de succès et faux sinon. Pour plus de maniabilité, la fonction peut calculer les déplacements à partir de différentes positions de fichier pour vous. La valeur de whence spécifie quelle position de fichier votre paramètre position utilise pour son point de départ: 0, le début du fichier; 1, la position actuelle dans le fichier; ou 2, la fin du fichier. Le paramètre position peut être négative pour un whence ou 1 ou 2. Si vous souhaitez utiliser des valeurs de symbole pour whence, vous pouvez utiliser SEEK_SET, SEEK_CUR ou SEEK_END à partir de l'IO::Seekable ou le module POSIX, ou le module Fcntl.
- Si vous souhaitez positionner le fichier pour sysread ou syswrite, n'utilisez pas la fonction seek; la mise en mémoire tampon d'entrée/sortie standard rend son effet sur la position du système du fichier imprévisible et non portable. Utilisez plutôt sysseek.
- Le paramètre position est en octets et non en caractères, qu'il y ait ou non une couche de codage sur le filehandle. Cependant, toutes les fonctions en Perl lisant à partir de fichiers passent par n'importe quelle couche d'encodage, et vous pouvez donc lire un caractère partiel et vous retrouver avec une chaîne de caractères Perl non valide. Évitez de mélanger les appels à la fonction sysseek ou seek avec les fonctions d'entrée/sortie sur filehandle avec une couche de codage multiple.
Voir également
Langage de programmation - PHP - Référence de procédures et fonctions - seek
Langage de programmation - Turbo Pascal - Référence de procédures et fonctions - seek
Références
La Bible Micro Application HTML & Développement Web, Stefan Munz, Wolfgang Nefzger, 2003, ISBN: 2-7429-2898-7, page 1163
Perl/CGI-Programmation avancée Grand Livre, Edition Micro Application, Rolf D. Stoll, 2001, ISBN: 2742919082, page 199
Dernière mise à jour : Dimanche, le 18 octobre 2015