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

int vfprintf ( FILE * stream, const char * format, va_list arg );

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

void func(int num, ...)
{
    FILE *fp;
    va_list arg;
    
    va_start(arg, num);
    
    fp = fopen("test.txt", "w");
    
    if (NULL != fp) {
        
        vfprintf(fp, "%s %d\n", arg);
        
        fclose(fp);
    }
    
    va_end(arg);
}

int main(void)
{
    func(2, "Hello World", 123);
    
    return 0;
}
実行結果
(test.txtの内容)
Hello World 123





inserted by FC2 system