フォーマット
#include <stdio.h> int sprintf(char *buffer, const char *format-string, argument-list);
言語レベル: ANSI
スレッド・セーフ: はい。
ロケール依存: この関数の振る舞いは、 現行ロケールの LC_CTYPE カテゴリーおよび LC_NUMERIC カテゴリーの影響を 受ける可能性があります。また、この振る舞いは、LOCALETYPE(*LOCALEUCS2) または LOCALETYPE(*LOCALEUTF) がコンパイル・コマンドに対して指定されている場合は、現行ロケールの LC_UNI_CTYPE カテゴリーの影響を受ける可能性もあります。詳細については、CCSID およびロケールの理解を参照してください。
説明
sprintf() 関数は、一連の文字と値をフォーマット設定し、配列 buffer に保管します。 すべての argument-list は、format-string の対応する形式指定に従って変換され、出力されます。
format-string は、通常の文字で構成され、 printf() 関数の format-string 引数と同じ形式と機能を持っています。
戻り値
sprintf() 関数は、配列に書き込まれるバイト数 (終了ヌル文字はカウントされません) を戻します。
sprintf() の使用例
この例では、sprintf() を使用して、さまざまなデータをフォーマット設定し、出力します。
#include <stdio.h> char buffer[200]; int i, j; double fp; char *s = "baltimore"; char c; int main(void) { c = 'l'; i = 35; fp = 1.7320508; /* Format and print various data */ j = sprintf(buffer, "%s¥n", s); j += sprintf(buffer+j, "%c¥n", c); j += sprintf(buffer+j, "%d¥n", i); j += sprintf(buffer+j, "%f¥n", fp); printf("string:¥n%s¥ncharacter count = %d¥n", buffer, j); } /********************* Output should be similar to: ************* string: baltimore l 35 1.732051 character count = 24 */
関連情報