文字列への変換関数

int sprintf( char* buf, const char* form, ... );   (stdio.h)
int
vsprintf( char* buf, const char* form, va_list lst );

データを書式化して buf に書き込みます。form には、出力変換指定子を含む文字列を指定します。また、form 内の % 文字列に対応する変数を form の後に指定します。

原則として、form の文字列がそのまま出力されます。

ただし、form 内に % で始まる部分文字列 (出力変換指定子、"%d" など) を含めると、その部分は form の後に指定した引数に置き換えられます。form は複数の出力変換指定子を含めると、form 後の複数の引数に順番に置き換えられます。form 後の引数の出力形式は、出力変換指定子の文字列で詳細に制御できます。

また、form 内に "\n" などのエスケープ シーケンスを含めると、その部分は実際のコードに置き換えられます。
sprintf( buf, "i=%d\n", i );
sprintf( buf, "i=%10.3ld\n", num );

sprintf は vsprintf を使って次のように定義されています。
int sprintf( char* buf, const char* form, ... ) {
  va_list lst;
  va_start( lst, form );
  return( vsprintf( buf, form, lst ) );
}

メモ   文字列の長さについては、%d、%f などで生成される個々の数値の文字列表現が 500 バイトを超えてはならないことを除き、制限はありません。

参照   printfsscanf

char* _itoa( int num, char* str, int base );   (stdlib.h)
char*
_utoa( unsigned num, char* str, int base );
char*
_ltoa( long num, char* str, int base );
char*
_ultoa( unsigned long num, char* str, int base );

数値 num を基数 base で文字列に変換し、str に格納します。str の末尾には 0 が付加され、str が返されます。