インテルのみ表示可能 — GUID: iln1642643071180
Ixiasoft
インテルのみ表示可能 — GUID: iln1642643071180
Ixiasoft
7.11.5.1. 'asnprintf()'の定義
newlib は同じコアエンジンに基づいた 22 種類の printf() バリアントを実装しており、それぞれがわずかに異なるインターフェイスを持っています。C 標準で指定されているもの、Posix で指定されているもの、GNU 拡張機能であるもの、newlib 拡張機能のものもあります。newlib libcのウェブページには、それぞれの標準に準拠する関数が文書化されています。
libc の詳細については、Red Hat newlib C Library ウェブページを参照してください。
- Plain vs varargs
- File vs buffer output
- Output buffer management alternatives:
- Fixed buffer, unknown length
- Fixed buffer, known length
- malloc()ed-and-returned buffer
- realloc()-able buffer
- Plain vs no-floating-point formatting support
バリアントへのマップは、プレフィックス文字のセットです。
v*printf (mnemonic: v-for-varargs)
正規の printf() 関数は、フォーマット文字列内の各パーセント指定子に対して 1 つづつを含む、可変数の引数を受け取ります。これは、ユーザーにとっては便利ですが、可変数の引数を受け取り、通常の printf() ライブラリーを呼び出す前に何らかの付加価値を行うラッパー関数にとっては不便です。なぜなら C には、関数が可変数の引数を読み取り、それを可変数の引数を取る別の関数に渡すための便利で移植性のある方法が提供されていないためです。したがって、C ライブラリーは、プレーンな printf() 関数ごとに対して、可変引数ベクトル形式で追加の引数を受け入れる v*printf バリアントを提供しています。
- fprintf()
- printf()
- asprintf()
- asnprintf()
- snprintf()
- sprintf()
- fiprintf()
- iprintf()
- asiprintf()
- asniprintf()
- sniprintf()
- siprintf()
- vprintf()
- vasprintf()
- vasnprintf()
- vsprintf()
- vsnprintf()
- viprintf()
- vasiprintf()
- vasniprintf()
- vsiprintf()
- vsniprintf()
- fprintf()
- vprintf()
- printf()
- asprintf()
- asnprintf()
- snprintf()
- sprintf()
- vasprintf()
- vasnprintf()
- vsprintf()
- vsnprintf()
- fiprintf()
- iprintf()
- viprintf()
- asiprintf()
- asniprintf()
- sniprintf()
- siprintf()
- vasiprintf()
- vasniprintf()
- vsiprintf()
- vsniprintf()
- dprintf, vdprintf: ファイル・ディスクリプターに出力します (FILE* に対して)。
- dprintf, vdprintf: 上記の浮動小数点フォーマットを使用しないバージョン。
- fwprintf, swprintf, vfwprintf, vswprintf, vwprintf, wprintf: ワイド文字をサポートするバージョン。
これらの printf() バリアントの詳細については、Red Hat newlib C Librayウェブページを参照してください。