標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
ISO C |
両方 |
#include <stdarg.h>
#include <stdio.h>
int vsprintf(char * __restrict__target-string,
const char * __restrict__format, va_list arg_ptr);
vsprintf() 関数は、sprintf() に似ていますが、arg_ptr が、その番号がプログラムの呼び出しによって異なることがある引数のリストを指しているという点が異なります。反対に、sprintf() は引数のリストをもてますが、そのリストの引数の 数はプログラムをコンパイルしたときに決定されます。書式制御 ストリングの仕様については、fprintf()、printf()、sprintf() - データのフォーマット設定と書き込みを参照してください。
正常に実行された場合、vsprintf() は target-string に書き込まれた文字数を戻します。
⁄* CELEBV05
This example assigns a variable number of strings to string
and prints the resultant string, using &vsprintf..
*⁄
#include <stdarg.h>
#include <stdio.h>
void vout(char *string, char *fmt, ...);
char fmt1 [] = "%s %s %s¥n";
int main(void)
{
char string[100];
vout(string, fmt1, "Sat", "Sun", "Mon");
printf("The string is: %s¥n", string);
}
void vout(char *string, char *fmt, ...)
{
va_list arg_ptr;
va_start(arg_ptr, fmt);
vsprintf(string, fmt, arg_ptr);
va_end(arg_ptr);
}
The string is: Sat Sun Mon