sprintf 関数について
sprintf()は、指定されたフォーマットに従ってデータを文字列に出力するC言語の関数です。そのプロトタイプは次のとおりです。
int sprintf(char *str, const char *format, ...);
この句をネイティブ日本語で言い換えてください。1つのオプションのみ必要です。パラメーターの説明:
- str:書き込む文字列へのポインタ。
- データの書き込み形式を指定するフォーマット文字列。
- …:オプションパラメータは、書式指定文字列の書式要求に従って、適切なデータを提供します。
返される値:ターミネータ ‘\0’ を含まない、書き込みが成功した文字数
sprintf() 関数は、指定したフォーマット文字列に従ってデータを文字に変換して、指定された文字列に書き出します。フォーマット文字列は、通常の文字とフォーマット指定子で構成します。フォーマット指定子はパーセント記号(%)でマークされ、書き込むデータの型とフォーマットを指定します。
以下は一般的に使われるフォーマット指示子です
- %d: 整数の値を書き込むために使用します。
- %s:文字列の書き込みに使います。
- %c:1文字の書き込みに使用します。
- %f:浮動小数点数の書き込みに使用されます。
- %x : 16進数を記述するために使用します。
- %p: ポインタに書き込みに使用します。
sprintf()関数の使いかたを示す例を以下に示す。
#include <stdio.h>
int main() {
char str[50];
int num = 10;
sprintf(str, "The number is %d", num);
printf("%s\n", str);
return 0;
}
このコードでは、整数 10 が文字列形式に整形され、str に格納されます。最後に「The number is 10」という文字列が出力されます。