Seek

From Base de connaissances eggdrops & TCL
Jump to: navigation, search

seek - Change la position du curseur dans un canal ouvert

Syntaxe

seek channelId offset ?origin?

Description

Change la position du curseur courante pour channelId. channelId doit être un identificateur de canal tel que renvoyé par un précédent appel de open ou socket. Les arguments offset et origin spécifient la position à laquelle la lecture ou écriture suivante se produira pour channelId. offset doit être un entier (qui peut être négatif) et origin doit être un des suivants:

  • start: La nouvelle position sera à offset octets du début du fichier ou périphérique sous-jacent.
  • current: La nouvelle position sera à offset octets de la position courante; un offset négatif déplace le curseur en arrière dans le fichier ou périphérique sous-jacent.
  • end: La nouvelle position sera à offset octets de la fin du fichier ou périphérique. Un offset négatif place le curseur avant la fin de fichier, et un offset positif place le curseur après la fin du fichier.

L'argument origin est par défaut à start.

La commande vide toutes les données dans le tampon de sortie du canal avant que la commande retourne, même si le canal est en mode non bloquant. Elle écarte aussi toute entrée en tampon non lue. Cette commande retourne une chaîne vide. Une erreur se produit si cette commande est appliquée aux canaux dont le fichier ou périphérique sous-jacent ne supporte pas la recherche.

Notez que les valeurs offset sont offsets d'octets, pas des offsets caractères. L'ensemble seek et tell opère en termes d'octets, pas de caractères, contrairement à read.

Voir également

open, exec, puts, flush, gets, read, eof, close, socket, tell, fconfigure, fblocked, fcopy