====== 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 ===== {{tag>tcl}}