sprintf

提供:cppreference.com
< cpp | io | c
移動: 案内, 検索


文法:

    #include <cstdio>
    int sprintf( char *バッファ, const char *フォーマット, ... );

sprintf()関数は、出力がバッファに送信されることを除くと、printf()関数と非常によく似ています。この関数の返り値は、出力した文字数になります。

サンプル:

     char string[50];
     int file_number = 0;
 
     sprintf( string, "file.%d", file_number );
     file_number++;
     output_file = fopen( string, "w" );

sprintf()は、文字列を数値に変換するatoi()とは逆に、数値を文字列に変換するのに使用することができます。

例えば、以下のコードは、sprintf()を使用して、整数を文字列に変換しています。

     char result[100];
     int num = 24;
     sprintf( result, "%d", num );

下記のコードは、変換元が整数ではなくて、浮動小数点数というのを除くと、上記のコードとほぼ同じです:

     char result[100];
     float fnum = 3.14159;
     sprintf( result, "%f", fnum );

この関数はバッファの境界値のチェックを行わないため、バッファオーバーフローの危険があります。もしも、安全な別の方法を使用したい場合には、 jp/c/io/snprintfを使用してください。

関連トピック: jp/c/io/snprintf, jp/c/string/atof, jp/c/string/atoi, jp/c/string/atol, fprintf, printf

個人用ツール
名前空間
変種
操作
案内
ツールボックス