Table des matières

read

Lit à partir d'un canal

Syntaxe

read ?-nonewline? channelId
read channelId numChars

Description

Sous la première forme, la commande read lit toutes les données provenant de channelId jusqu'à la fin du fichier. Si le switch -nonewline est spécifié alors le dernier caractère du fichier est retiré si c'est un caractère de fin de ligne.

Sous la seconde forme, l'argument supplémentaire spécifie combien de caractères la commande doit lire. Ce nombre exact de caractères sera lu et retourné, sauf s'il y a moins que numChars caractères restant dans le fichier; dans ce cas tous les caractères restant sont retournés. Si le canal de communication est configuré pour utiliser un encodage sur plusieurs octets, le nombre de caractères lus peut être différent du nombre d'octets lus..

Si channelId est en mode non bloquant, la commande peut ne pas lire autant de caractères que requis une fois que toutes les données d'entrée auront été lues. La commande renverra les données disponibles plutôt que de bloquer en attente de données complémentaires. Si le canal de communication est configuré pour utiliser un encodage sur plusieurs octets, alors il peut réellement rester quelques octets dans les tampons internes, qui ne forment pas un caractère complet. Ces octets ne seront retournés que lorsqu'un caractère complet sera disponible ou qu'une fin de fichier sera rencontrée. Le switch -nonewline est ignoré si la commande se termine avant d'atteindre la fin du fichier. read traduit les séquences de fin de ligne de l'entrée en caractères de fin de ligne, en fonction de l'option -translation associée au canal de communication.

Exemples

Voir aussi