Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der Unterschied zwischen printf, sprintf und fprintf in der C-Sprache?

Was ist der Unterschied zwischen printf, sprintf und fprintf in der C-Sprache?

青灯夜游
青灯夜游Original
2019-01-25 17:02:0114041Durchsuche

printf, sprintf und fprintf sind alles Ausgabeanweisungen in der C-Sprache und geben alle formatierte Zeichenfolgen aus. Was sind also die Unterschiede zwischen diesen drei? In diesem Artikel werden wir etwas über printf, sprintf und fprintf lernen und die Unterschiede zwischen ihnen vorstellen. Ich hoffe, dass es für alle hilfreich ist.

Was ist der Unterschied zwischen printf, sprintf und fprintf in der C-Sprache?

printf

Die printf-Funktion wird verwendet, um Text auf dem Standardausgabegerät (stdout-Konsole) auszugeben ) (String/Char-Stream) oder Wert.

Grundlegende Syntax

int printf(const char * format,...);

Beschreibung:

format stellt das Format einer Textzeichenfolge bereit, die auf dem Ausgabegerät unter Verwendung der Formate %s, %d, %f verwendet wird usw. Spezifizierer für die Ausgabe.

... Stellt eine Liste der Parameter bereit, die ausgegeben werden müssen.

Rückgabetyp int gibt die Gesamtzahl der auf dem Bildschirm ausgegebenen Zeichen zurück.

Beispiel:

#include<stdio.h> 
int main() 
{ 
   printf("hello geeksquiz"); 
    printf("\n"); 
   int  a=2;
   printf("%d",a); 
   return 0; 
}

Ausgabe:

Was ist der Unterschied zwischen printf, sprintf und fprintf in der C-Sprache?

sprintf

sprintf wird verwendet, um formatierten Text (String-/Zeichenstrom) an einen String-Puffer zu senden (kopieren).

Grundlegende Syntax

int sprintf(char * str,const char * format,...);

Beschreibung:

char * str : Ein Zeichenarray, in das der formatierte Text gesendet (kopiert) wird.

format stellt mithilfe von Formatbezeichnern formatierten Text bereit.

... Stellen Sie eine Liste der Parameter bereit, die ausgegeben werden müssen.

● Der Rückgabetyp int gibt die Gesamtzahl der kopierten (gesendeten) Zeichen an char * str zurück.

Beispiel:

#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;
}

Erklärung: sprintf speichert die Zeichenfolge im angegebenen Zeichenpuffer und gibt sie dann über printf auf der Standardausgabekonsole aus.

Ausgabe:

Was ist der Unterschied zwischen printf, sprintf und fprintf in der C-Sprache?

fprintf

fprintf wird verwendet, um Zeichen in einem auszugeben Datei-String-Inhalt, aber keine Ausgabe auf der stdout-Konsole.

Grundlegende Syntax:

int fprintf(FILE * fptr,const char * str,...);

Beschreibung:

fptr: Dies ist ein Zeiger auf das FILE-Objekt, das den Stream identifiziert.

str: Dies ist ein C-String, der den Text enthält, der in den Stream-Stream geschrieben werden soll.

Beispiel:

#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; 
}

Ausgabe:

Was ist der Unterschied zwischen printf, sprintf und fprintf in der C-Sprache?

In sample.txt:

Was ist der Unterschied zwischen printf, sprintf und fprintf in der C-Sprache?

Zusammenfassung:

Der Unterschied zwischen printf, sprintf und fprintf besteht darin, dass ihre Ausgabeziele unterschiedlich sind. printf gibt einen Datenzeichenstrom auf der stdout-Konsole aus; sprintf sendet den Datenzeichenstrom an den angegebenen Zeichenpuffer; fprintf wird zur Ausgabe von Zeichenfolgeninhalten in einer Datei verwendet.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen printf, sprintf und fprintf in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn