示す関数はそれぞれ対応するCライブラリの関数とほぼ同じ機能を持ちます。printfでは変数の可変リストを,vprintfは変数へのポインタをそれぞれ使用します。va_start’を参照して下さい。書式指定が間違っていたり,型指定が食い違っていたりした時の出力は予測不能です。GCCの書式指定チェック機構は,GMPの拡張指定に対応していないので,役に立ちません。ファイルに対する出力関数であるgmp_printfやgmp_fprintf関数は,書き込みエラー時には-1を返します。出力は"atomic"ではありませんので,書き込みエラー時には一部だけが書きこまれる可能性があります。Cライブラリのprintf関数やその派生関数が-1を返すようになっていれば,GMPの出力関数もそれにならってエラー時には-1を返します。ap)標準出力stdoutに表示を行います。通常は出力文字数を返し,エラー時には-1を返します。ap)ファイルストリームfpに出力します。通常は出力文字数を返し,エラー時には-1を返します。ap)bufにNULL終端子付きの文字列を形成します。返り値は,NULL終端子を除いた出力文字数になります。bufスペースと,fmt文字列がメモリ空間を共有してはいけません。bufスペース以上の出力を防止する機能はありませんので,これらの関数の使用はお勧めしません。ap)bufにNULL終端子付きの文字列を形成します。sizeバイト以上の書き込みはできません。従って,出力結果を全て補損しておきたい時には,sizeは文字列長+NULL終端子以上のスペースが必要になります。返り値は,NULL終端子文を除いた生成すべき文字全体の長さとなります。sizeであれば,出力結果は最初のsize-1文字分に,NULL終端子を足した長さになります。{buf,size}とfmt文字列とのメモリ空間共有は行わないで下さい。snprintf関数と同じです。2.0.xの形式であっても同様です。Allocation)を使って確保されたメモリブロックに,NULL終端子付きの文字列を形成します。メモリブロックはNULL終端子を含む文字列分確保され,このブロックへのポインタは*ppに保存されます。返り値は,NULL終端子を除く生成文字列長となります。Cのasprintf関数とは異なり,gmp_asprintfはメモリ不足の時にも-1を返さず,必要なだけメモリを確保しようとします。ap)既存オブジェクトopに追記します。返り値は書きこまれた文字数です。NULL終端子は付きません。fmtは,更に増える可能性のあるopとは別に確保しなくてはなりません。これらの関数はCライブラリがobstackを利用できる場合のみ使用できます。GNUのシステム限定となります。