Quelle est la différence entre printf, sprintf et fprintf en langage C

青灯夜游
Libérer: 2019-01-25 17:02:01
original
13995 Les gens l'ont consulté

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.

Quelle est la différence entre printf, sprintf et fprintf en langage C

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,...);
Copier après la connexion

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; 
}
Copier après la connexion

Sortie :

Quelle est la différence entre printf, sprintf et fprintf en langage C

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,...);
Copier après la connexion

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;
}
Copier après la connexion

Explication : sprintf stocke la chaîne dans le tampon de caractères spécifié, puis l'affiche sur la console stdout via printf.

Sortie :

Quelle est la différence entre printf, sprintf et fprintf en langage C

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,...);
Copier après la connexion

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; 
}
Copier après la connexion

Sortie :

Quelle est la différence entre printf, sprintf et fprintf en langage C

Dans sample.txt :

Quelle est la différence entre printf, sprintf et fprintf en langage C

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!