トップページ > キーワード検索 > vsprintf()
C言語規格
C言語(その他)
プログラム
その他
vsprintf()
機能 可変個数の引数並びを指定の書式に従って引数の配列へデータを出力することを表す。
定義 #include <stdio.h>

int vsprintf ( char * s, const char * format, va_list arg );

※C99規格では以下の定義となる
int vsprintf ( char * restrict s, const char * restrict format, va_list arg );
引数
s出力する配列(char型配列)へのポインタ
format変換書式文字列。詳細はprintf関数を参照
arg出力する変数群(va_list型
※ argは関数呼び出し前にva_startマクロで初期化されている必要がある
戻り値 書き出された文字数を返す。
エラーが発生した場合は負の値を返す。
実装例
#include <stdio.h>
#include <stdarg.h>

void func(int num, ...)
{
    char s[100];
    va_list arg;
    
    va_start(arg, num);
    
    vsprintf(s, "%s %d\n", arg);
    
    printf("s=%s", s);
    
    va_end(arg);
}

int main(void)
{
    func(2, "Hello World", 123);
    
    return 0;
}
実行結果
s=Hello World 123





inserted by FC2 system