write |
Écrire |
Microsoft C |
io.h |
Syntaxe
int write(int handle, char * buffer, unsigned int count);
|
Paramètres
Nom |
Description |
handle |
Ce paramètre permet d'indiquer l'identificateur de descripteur de Handle. |
buffer |
Ce paramètre permet d'indiquer le bloc de données à écrire |
count |
Ce paramètre permet d'indiquer la taille du bloc de données |
Description
Cette fonction effectue l'écriture d'un bloc de mémoire dans un fichier Handle.
Remarques
- La fonction write écrit le nombre d'octets du tampon dans le fichier associé à l'identificateur de descripteur Handle. L'opération d'écriture commence à la position actuelle du pointeur de fichier
(le cas échéant) associé au fichier donné. Si le fichier est ouvert pour être ajouté, l'opération commence à la fin actuelle du fichier. Après l'opération d'écriture, le pointeur de fichier (le cas échéant) est
augmenté du nombre d'octets réellement écrits.
- La fonction d'écriture renvoie le nombre d'octets réellement écrits. La valeur de retour peut être positive mais inférieure au nombre (par exemple, lorsque l'espace sur un disque est insuffisant avant l'écriture des
octets de comptage). Une valeur de retour de -1 indique une erreur et errno est défini sur l'une des valeurs suivantes :
Valeur |
Description |
EACCES |
Cette valeur permet d'indiquer le fichier est en lecture seulement ou verrouillé contre l'écriture. |
EBADF |
Cette valeur permet d'indiquer un identificateur Handle de fichier non valide. |
ENOSPC |
Cette valeur permet d'indiquer qu'il n'y pas d'espace disponible sur le périphérique. |
- Si vous écrivez plus de 32 Ko (la taille maximale pour le type de données int) dans un fichier, la valeur de retour doit être de type unsigned int. Cependant, le nombre maximal d'octets
pouvant être écrits dans un fichier est de 65534, car 65535 (ou 0xFFFF) ne se distingue pas de -1, et renvoie donc une erreur.
- Si le fichier donné a été ouvert en mode texte, chaque caractère de saut de ligne (LF) est remplacé par une paire de retour à la ligne (CR-LF) en sortie. Le remplacement n'affecte pas la valeur de retour.
- Lors de l'écriture dans des fichiers ouverts en mode texte, un caractère est traité comme la fin de fichier logique. Lors de l'écriture sur un périphérique, un caractère dans le tampon provoque l'arrêt de la sortie.
Dernière mise à jour : Vendredi, le 8 Mai 2020