Sous-routine puts ou fputs

Objectif

Ecrit une chaîne dans un flux.

Bibliothèque

Bibliothèque d'E-S standard (libc.a)

Syntaxe

#include  <stdio.h>

int   puts   (
String)
const char   *
String;

int   fputs  (
String,  Stream)
const char   *
String;
FILE         *
Stream;

Descriptif

La sous-routine puts écrit la chaîne pointée par le paramètre String dans le flux de sortie standard, stdout, et ajoute un caractère de nouvelle ligne à la sortie.

La sous-routine fputs écrit la chaîne à terminaison nulle désignée par le paramètre String dans le flux de sortie spécifié par le paramètre Stream . La sous-routine fputs n'ajoute pas de caractère de nouvelle ligne.

Aucune des deux sous-routines n'écrit le caractère null de fin.

Après l'exécution réussie de la sous-routine fputwc, putwc, fputc, fputs, putsou putw , et avant la prochaine exécution réussie d'un appel à la sous-routine fflush ou fclose sur le même flux ou d'un appel à la sous-routine exit ou abort , last_ctimeetst_mtimeLes zones du fichier sont marquées pour la mise à jour.

Paramètres

Article Descriptif
Chaîne Pointe vers une chaîne à écrire en sortie.
Flux Pointe vers la structure FILE d'un fichier ouvert.

Valeurs renvoyées

Une fois l'opération terminée, les sous-routines puts et fputs renvoient le nombre de caractères écrits. Sinon, les deux sous-routines renvoient EOF, définissent un indicateur d'erreur pour le flux et définissent la variable globale errno pour indiquer l'erreur. Cela se produit si les routines tentent d'écrire dans un fichier qui n'a pas été ouvert pour écriture.

Codes d'erreur

Si la sous-routine puts ou fputs échoue car le flux de sortie spécifié par le paramètre Stream est démis de la mémoire tampon ou que la mémoire tampon doit être vidée, elle renvoie un ou plusieurs des codes d'erreur suivants:

Article Descriptif
FEAGA Indique que l'indicateur O_NONBLOCK est défini pour le descripteur de fichier spécifié par le paramètre Stream et que le processus est retardé lors de l'opération d'écriture.
EBADF Indique que le descripteur de fichier spécifié par le paramètre Flux n'est pas un descripteur de fichier valide ouvert en écriture.
EFBIG Indique qu'une tentative d'écriture a été effectuée dans un fichier qui dépasse la limite de taille de fichier du processus ou la taille de fichier maximale à l'échelle du système.
EINTR Indique que l'opération d'écriture a été arrêtée en raison de la réception d'un signal et qu'aucune donnée n'a été transférée.
Remarque: En fonction de la routine de bibliothèque à laquelle l'application est liée, cette sous-routine peut renvoyer EINTR. Reportez-vous à la sous-routine signal concernant le bit SA_RESTART .
EIO Indique que le processus est membre d'un groupe de processus d'arrière-plan qui tente d'effectuer une écriture sur son terminal de contrôle, que l'indicateur TOSTOP est défini, que le processus n'ignore ni ne bloque le signal SIGTTOU et que le groupe de processus du processus n'a pas de processus parent.
ENOSPC Indique qu'il ne reste plus d'espace disponible sur l'unité contenant le fichier spécifié par le paramètre Flux .
EPIPE Indique qu'une tentative d'écriture est effectuée sur un canal de communication ou un premier entré, premier sorti (FIFO) qui n'est pas ouvert à la lecture par un processus. Un signal SIGPIPE sera également envoyé au processus.
ENOMEM Indique que l'espace de stockage disponible est insuffisant.
ENXIO Indique qu'une demande a été effectuée sur une unité inexistante ou qu'elle était en dehors des capacités de l'unité.