文法:
#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 );
この関数はバッファの境界値のチェックを行わないため、バッファオーバーフローの危険があります。もしも、安全な別の方法を使用したい場合には、snprintfを使用してください。