ホームページ  >  記事  >  バックエンド開発  >  C言語のprintf、sprintf、fprintfの違いは何ですか

C言語のprintf、sprintf、fprintfの違いは何ですか

青灯夜游
青灯夜游オリジナル
2019-01-25 17:02:0113978ブラウズ

printf、sprintf、fprintf はすべて C 言語の出力ステートメントであり、フォーマットされた文字列を出力します。では、これら 3 つの違いは何なのでしょうか?この記事では、printf、sprintf、fprintf について学び、それらの違いを紹介します。

C言語の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; 
}

出力:

C言語のprintf、sprintf、fprintfの違いは何ですか

##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 コンソールに出力します。

出力:

fprintfC言語のprintf、sprintf、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 内:

C言語のprintf、sprintf、fprintfの違いは何ですか


要約: C言語のprintf、sprintf、fprintfの違いは何ですか

printf、sprintf、fprintf の違いは、出力ターゲットが異なることです。 printf はデータ文字ストリームを stdout コンソールに出力し、sprintf はデータ文字ストリームを指定された char バッファに送信し、fprintf はファイル内の文字列コンテンツを出力するために使用されます。 以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がC言語のprintf、sprintf、fprintfの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。