PUTC |
Mettre un caractère |
---|---|
Langage C++ | cstdio (stdio.h) |
Syntaxe
int putc(int car,FILE *ptrfichier) |
Paramètres
Nom | Description |
---|---|
car | Ce paramètre permet d'indiquer le caractère à écrire |
ptrfichier | Ce paramètre permet d'indiquer l'identificateur de fichier |
Description
Cette fonction effectue l'écriture de caractère dans un fichier.
Remarques
- La fonction putc() écrit le caractère contenu dans l'octet de poids faible de car dans le flux de données de sortie pointé par ptrfichier. Étant donné que les paramètres de caractères sont élevés à un entier au moment de l'appel, vous pouvez utiliser des valeurs de caractères comme paramètres pour putc().
- La fonction putc() renvoie le caractère écrit en cas de succès ou EOF en cas d'erreur. Si le flux de données de sortie a été ouvert en mode binaire, EOF est une valeur valide pour car. Cette situation signifie que vous devez utiliser ferror() pour déterminer si une erreur s'est produite.
- Définition et utilité : La fonction putc est définie dans la bibliothèque <cstdio> (ou <stdio.h>) et permet d'écrire un caractère dans un flux de sortie. Elle est principalement utilisée pour écrire un seul caractère dans un fichier ou sur la sortie standard. C'est une fonction simple mais utile pour gérer les entrées et sorties caractère par caractère, en particulier lorsqu'il est nécessaire de manipuler des fichiers ou de formater la sortie à un niveau bas.
- Retour de la fonction : putc retourne le caractère écrit sous forme d'un entier. Si l'écriture échoue, elle retourne EOF, ce qui permet à l'utilisateur de détecter les erreurs d'écriture, comme une fermeture inattendue du fichier ou un problème avec le flux. Il est donc important de vérifier la valeur de retour de putc pour gérer les erreurs potentiellement rencontrées.
- Différence entre putc et fputc : putc est parfois comparée à la fonction fputc, car elles effectuent toutes les deux une écriture de caractère dans un flux. La principale différence réside dans l'implémentation et l'optimisation : putc est généralement implémentée en tant que macro appelant fputc, ce qui peut entraîner une légère différence de performance en fonction de l'environnement. En pratique, les deux fonctions ont un comportement équivalent pour la plupart des cas d'utilisation.
- Utilisation avec la sortie standard : putc peut être utilisée pour écrire des caractères dans la sortie standard (stdout). Par exemple, putc('A', stdout) écrira le caractère 'A' à l'écran. Cette fonctionnalité est utile lorsqu'il est nécessaire d'afficher des caractères de manière plus bas-niveau qu'avec printf, offrant ainsi plus de contrôle sur le flux de données sortantes.
- Précautions d'utilisation avec des fichiers : Lors de l'utilisation de putc pour écrire dans des fichiers, il est important de s'assurer que le fichier a été correctement ouvert en mode écriture. Si le fichier n'est pas ouvert avec les bons droits d'accès (par exemple en mode w ou a), putc échouera et retournera EOF. Il est également essentiel de fermer le fichier après utilisation pour garantir que toutes les écritures sont correctement finalisées.
- Manipulation des caractères : putc peut être utilisée pour écrire des caractères simples, mais elle peut également être utilisée dans des boucles pour écrire plusieurs caractères un par un, ce qui peut être utile pour manipuler des données sous forme de caractères ou pour gérer des fichiers texte de manière fine. Par exemple, elle peut être utilisée pour écrire des caractères individuels dans un fichier binaire ou un flux réseau.
- Impact sur la performance : Bien que putc soit une fonction simple, l'utilisation de cette fonction dans des boucles avec des flux de sortie peut avoir un impact sur la performance, surtout si l'écriture se fait caractère par caractère dans des flux volumineux. Si l'efficacité est une préoccupation, il peut être préférable d'utiliser des fonctions permettant d'écrire des blocs de données (par exemple, fwrite ou même std::ofstream pour les fichiers en C++), ce qui est souvent plus rapide que d'écrire un caractère à la fois.
Exemple
Voici quelques exemples typiques de l'utilisation de cette fonction :

- #include <iostream>
- #include <cstdio>
- #include <cstdlib>
- #include <cstring>
-
- void putString(FILE * Handle,const char * string) {
- int I;
- for(I = 0; I < strlen(string); I++) putc(string[I],Handle);
- }
-
- int main()
- {
- FILE * Handle = fopen("monfichier.txt", "w+");
- if(Handle != NULL) {
- putString(Handle,"Gladir.com\n");
- fclose(Handle);
- }
- return 0;
- }
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 - fprintf
Langage de programmation - C++ - Référence de procédures et fonctions - fputc
Langage de programmation - C++ - Référence de procédures et fonctions - fwrite
Langage de programmation - C++ - Référence de procédures et fonctions - getchar
Langage de programmation - C - Référence de procédures et fonctions - putc
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 733.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 201.