Fonctions fputs et puts

Entête à inclure

#include <stdio.h>  // <cstdio> en C++

Fonctions fputs et puts

int fputs( const char * string, FILE * stream );
int puts( const char * string );

Ces fonctions permettent d'écrire une chaîne de caractères sur un flux donné. La fonction fputs permet de spécifier le flux, alors que puts travaille forcément sur stdout. Notez aussi que puts ajoute automatiquement un retour à la ligne à la fin de la chaîne, contrairement à fputs.

Si vous souhaitez manipuler des chaînes de caractères non formatées, alors ces fonctions seront préférable à des appels à fprintf (ou printf). Effectivement, aucune recherche du caractère % ne sera effectuée. Il en résultera donc des temps d'exécutions plus rapides.

Paramètres

  • string : la chaîne de caractères à afficher. Notez que la chaîne doit, bien entendu, être terminée par un code ASCII nul ('\0' ; nous avons à faire à une chaîne AZT).
  • stream : ce paramètre permet d'indiquer le flux de caractères (ou d'octets) à utiliser pour l'écriture. N'oubliez pas que la valeur de ce paramètre à été initialement capturée lors de l'invocation de la fonction fopen.

Valeur de retour

En cas de succès, une valeur positive doit être retournée. Par contre, en cas d'erreur, la valeur EOF sera retournée. Dans ce cas, il vous faudra alors consulter la variable errno pour obtenir de plus amples informations sur l'erreur constatée. Il vous sera aussi possible d'utiliser la fonction ferror.

Codes erreurs pouvant être retournés

EAGAIN : le flux est vérrouillé et il faudra tenter ultérieurement l'écriture.

EBADF : le descripteur de flux (FILE *) passé en paramètre est invalide ou ne permet pas l'écriture.

EIO : une erreur d'accès physique au flux vient d'être générée.

...

Exemple de code

#include <stdio.h>
#include <stdlib.h>

int main( int argc, char * argv[] ) {

    /* Notice that final new line character is implicit */
    puts( "Welcome to MegaApp V1.0" );    
    puts( "To be continued" );    
        
    return 0;
}

Sujets connexes