FPUTS |
Chaine à mettre dans le fichier |
---|---|
Langage C++ | cstdio (stdio.h) |
Syntaxe
int fputs(const *str,FILE *ptrfichier) |
Paramètres
Nom | Description |
---|---|
ptrfichier | Ce paramètre permet d'indiquer l'identificateur de fichier |
str | Ce paramètre permet d'indiquer la chaîne de caractères à écrire |
Description
Cette fonction effectue l'écriture d'une chaîne de caractères dans un fichier.
Remarques
- La fonction fputs() écrit le contenu de la chaîne de caractères pointée par str dans le flux spécifié. Le terminateur null n'est pas écrit.
- La fonction fputs() renvoie une valeur non négative en cas de succès et EOF en cas d'échec.
- Si le flux de données est ouvert en mode texte, certaines conversions de caractères peuvent avoir lieu. Cette situation signifie qu'il peut ne pas y avoir de cartographie un à un de la chaîne de caractères sur le fichier. Cependant, si le flux est ouvert en mode binaire, aucune conversion de caractères ne se produira et une cartographie un à un entre la chaîne de caractères et le fichier existera.
- Définition et utilité : La fonction fputs permet d'écrire une chaîne de caractères dans un fichier. Elle est définie dans la bibliothèque <cstdio> et est utilisée lorsque l'on souhaite écrire une chaîne complète plutôt qu'un seul caractère (comme avec fputc). Elle est particulièrement utile pour l'enregistrement de texte dans des fichiers, comme des journaux de bord, des fichiers de configuration, ou des sorties formatées.
- Absence de retour à la ligne automatique : Contrairement à puts, ajoutant automatiquement un retour à la ligne (\n) après la chaîne de caractères écrite, fputs n'ajoute pas de retour à la ligne. Si l'on souhaite que chaque ligne du fichier soit bien séparée, il faut explicitement ajouter \n à la fin de la chaîne :
- fputs("Bonjour\n", fichier);
- Gestion des erreurs : Il est important de vérifier la valeur de retour de fputs pour s'assurer que l'écriture a bien eu lieu. Si fputs échoue (par exemple, si le fichier est fermé ou en lecture seulement), elle retourne EOF, ce qui permet de détecter l'erreur et de réagir en conséquence :
- Utilisation avec les flux standards (stdout, stderr) : fputs peut être utilisée pour écrire du texte directement dans la sortie standard (stdout) ou l'erreur standard (stderr). Cela permet d'afficher des messages sans avoir recours à printf :
- Différence avec fprintf : fputs est plus rapide et plus simple que fprintf lorsqu'il s'agit simplement d'écrire une chaîne de caractères, car fprintf analyse le format et gère plusieurs types de données. Si l'on ne fait que entreposer une chaîne sans formatage complexe, fputs est plus efficace :
- Impact des modes d'ouverture de fichier : Lorsque le fichier est ouvert en mode texte ("w" ou "a"), fputs peut modifier la façon dont les caractères de nouvelle ligne (\n) sont interprétés, en particulier sous Windows où \n peut être converti en \r\n. Pour éviter cette conversion, on peut ouvrir le fichier en mode binaire ("wb" ou "ab"), ce qui garantit que le contenu est écrit tel quel.
- Performance et utilisation avec des tampons : fputs est généralement plus efficace que fputc dans le cas d'écritures de chaînes de caractères, car elle écrit plusieurs caractères en une seule opération, réduisant ainsi le nombre d'appels aux fonctions d'entrée/sortie du système. Cependant, si un grand volume de texte doit être écrit, l'utilisation de fwrite avec des tampons peut être encore plus rapide.
Exemple
Voici un exemple typique de l'utilisation de cette fonction :

on obtiendra le résultat suivant dans le fichier «monfichier.txt» :
Gladir.comVoir également
Langage de programmation - C++ - Référence de procédures et fonctions - fgets
Langage de programmation - C++ - Référence de procédures et fonctions - fprintf
Langage de programmation - C++ - Référence de procédures et fonctions - fscanf
Langage de programmation - C++ - Référence de procédures et fonctions - gets
Langage de programmation - C++ - Référence de procédures et fonctions - puts
Langage de programmation - C - Référence de procédures et fonctions - fputs
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 731.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 110.