Maison > Article > développement back-end > Quelle est la différence entre printf, sprintf et fprintf en langage C
printf, sprintf et fprintf sont toutes des instructions de sortie en langage C, qui génèrent des chaînes formatées. Alors, quelles sont les différences entre les trois ? Dans cet article, nous allons en apprendre davantage sur printf, sprintf et fprintf et présenter les différences entre eux. J'espère que cela sera utile à tout le monde.
printf
La fonction printf est utilisée pour sortir du texte sur le périphérique de sortie standard (console stdout ) (chaîne/flux de caractères) ou valeur.
Syntaxe de base
int printf(const char * format,...);
Explication :
format fournit le format d'une chaîne de texte qui sera utilisée sur le périphérique de sortie en utilisant %s, %d, %f Attendez que le spécificateur de format soit affiché.
... Fournit une liste de paramètres qui doivent être générés.
Le type de retour int renvoie le nombre total de caractères affichés à l'écran.
Exemple :
#include<stdio.h> int main() { printf("hello geeksquiz"); printf("\n"); int a=2; printf("%d",a); return 0; }
Sortie :
sprintf
sprintf est utilisé pour envoyer (copier) du texte formaté (flux de chaînes/caractères) vers un tampon de chaîne.
Syntaxe de base
int sprintf(char * str,const char * format,...);
Description :
● char * str : Un tableau de caractères dans lequel le texte formaté sera envoyé (copié) .
● format fournit du texte formaté à l'aide de spécificateurs de format.
● ... Fournissez une liste de paramètres qui doivent être générés.
● Le type de retour int renvoie le nombre total de caractères copiés (envoyés) dans char * str.
Exemple :
#include <stdio.h> int main() { char str[100]; int n; n=sprintf((char*)str,"我的名字是%s, I am %d years old.","Mike",23); printf("Text is: %s\n",str); printf("Total number of copied characters are: %d\n",n); return 0; }
Explication : sprintf stocke la chaîne dans le tampon de caractères spécifié, puis l'affiche sur la console stdout via printf.
Sortie :
fprintf
fprintf est utilisé pour afficher des caractères dans un contenu de la chaîne du fichier, mais pas de sortie sur la console stdout.
Syntaxe de base :
int fprintf(FILE * fptr,const char * str,...);
Description :
fptr : Il s'agit d'un pointeur vers l'objet FILE qui identifie le flux.
str : Il s'agit d'une chaîne C contenant le texte à écrire dans le flux stream.
Exemple :
#include<stdio.h> int main() { int i, n=2; char str[50]; //open file sample.txt in write mode FILE *fptr = fopen("sample.txt", "w"); if (fptr == NULL) { printf("无法打开文件"); return 0; } for (i=0; i<n; i++) { puts("输入名称"); gets(str); fprintf(fptr,"%d.%s\n", i, str); } fclose(fptr); return 0; }
Sortie :
Dans sample.txt :
Résumé :
La différence entre printf, sprintf et fprintf est la suivante : leurs cibles de sortie sont différentes. printf génère un flux de caractères de données sur la console stdout ; sprintf envoie le flux de caractères de données au tampon de caractères spécifié ; fprintf est utilisé pour afficher le contenu de la chaîne dans un fichier ;
Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!