Maison développement back-end Tutoriel C#.Net Quelle est la différence entre printf, sprintf et fprintf en langage C

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

Jan 25, 2019 pm 05:02 PM
c fprintf printf

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!

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

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que sont les constantes en langage C ? Pouvez-vous donner un exemple ? Que sont les constantes en langage C ? Pouvez-vous donner un exemple ? Aug 28, 2023 pm 10:45 PM

Que sont les constantes en langage C ? Pouvez-vous donner un exemple ?

VSCode et VS C++ IntelliSense ne fonctionnent pas ou ne récupèrent pas les bibliothèques VSCode et VS C++ IntelliSense ne fonctionnent pas ou ne récupèrent pas les bibliothèques Feb 29, 2024 pm 01:28 PM

VSCode et VS C++ IntelliSense ne fonctionnent pas ou ne récupèrent pas les bibliothèques

Comment utiliser fprintf dans matlab Comment utiliser fprintf dans matlab Sep 28, 2023 pm 04:28 PM

Comment utiliser fprintf dans matlab

Programme récursif pour trouver les éléments minimum et maximum d'un tableau en C++ Programme récursif pour trouver les éléments minimum et maximum d'un tableau en C++ Aug 31, 2023 pm 07:37 PM

Programme récursif pour trouver les éléments minimum et maximum d'un tableau en C++

Correction du code d'erreur Xbox 8C230002 Correction du code d'erreur Xbox 8C230002 Feb 27, 2024 pm 03:55 PM

Correction du code d'erreur Xbox 8C230002

China Eastern Airlines annonce que l'avion de passagers C919 sera bientôt mis en service China Eastern Airlines annonce que l'avion de passagers C919 sera bientôt mis en service May 28, 2023 pm 11:43 PM

China Eastern Airlines annonce que l'avion de passagers C919 sera bientôt mis en service

Programme C++ pour imprimer un motif en spirale de nombres Programme C++ pour imprimer un motif en spirale de nombres Sep 05, 2023 pm 06:25 PM

Programme C++ pour imprimer un motif en spirale de nombres

La fonction du mot clé void en langage C La fonction du mot clé void en langage C Feb 19, 2024 pm 11:33 PM

La fonction du mot clé void en langage C

See all articles