printf、sprintf、fprintf はすべて C 言語の出力ステートメントであり、フォーマットされた文字列を出力します。では、これら 3 つの違いは何なのでしょうか?この記事では、printf、sprintf、fprintf について学び、それらの違いを紹介します。
printf
printf 関数は、標準出力デバイス (stdout コンソール) にテキストを出力するために使用されます。 ) (文字列/文字ストリーム) または値。
基本構文
int printf(const char * format,...);
説明:
format は、形式 %s、%d、%f を使用して出力デバイスで使用されるテキスト文字列の形式を提供します。 、などの出力用の指定子。
...出力する必要があるパラメータのリストを指定します。
戻り値の型 int は、画面に出力される文字の総数を返します。
#例:#include<stdio.h> int main() { printf("hello geeksquiz"); printf("\n"); int a=2; printf("%d",a); return 0; }出力:
##sprintf sprintf は、書式設定されたテキスト (文字列/文字ストリーム) を文字列バッファに送信 (コピー) するために使用されます。
基本構文int sprintf(char * str,const char * format,...);説明: ●
char * str
: 書式設定されたテキストが送信 (コピー) される文字配列。#● format書式指定子を使用して書式設定されたテキストを提供します。
##●...出力する必要があるパラメータのリストを提供します。
● 戻り値の型 int は、コピー (送信) された文字の総数を char * str に返します。例:
#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; }説明: sprintf は、指定された char バッファーに文字列を保管し、printf を通じてそれを stdout コンソールに出力します。 出力:
fprintf
fprintf は、文字を出力するために使用されます。 file 文字列の内容ですが、標準出力コンソールには出力されません。 基本構文:
int fprintf(FILE * fptr,const char * str,...);説明: fptr: これは、ストリームを識別する FILE オブジェクトへのポインターです。 str: これは、ストリーム stream に書き込まれるテキストを含む C 文字列です。 サンプル:
#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; }出力:
sample.txt 内:
要約:
printf、sprintf、fprintf の違いは、出力ターゲットが異なることです。 printf はデータ文字ストリームを stdout コンソールに出力し、sprintf はデータ文字ストリームを指定された char バッファに送信し、fprintf はファイル内の文字列コンテンツを出力するために使用されます。 以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !
以上がC言語のprintf、sprintf、fprintfの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。