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.
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:
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:
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:
In sample.txt:
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!