picox
0.1
|
stdio.h系統の機能を提供します [詳解]
![]() |
printf | |
printf系関数は使用頻度が高いですが、標準ライブラリの実装によって、メモリの 使い方(スタック使用量や、mallocの使用の有無)や対応しているフォーマット指定 にかなりのバラつきがあるという問題があります。 このライブラリが提供するprintfを使用することで、環境によって異なるライブラリ の実装に悩まされることなく安定して使用することができます。 mallocは未使用で、スタック使用量は可変引数の分を除くと、sizeof(int) == 2の 環境では80バイト程度。sizeof(int) == 4の環境では100バイト程度です。 ただし、printfのすべてのフォーマット指定には対応しておらず、厳選した使用頻 度の高いもののみを実装しています。 対応formatフォーマット指定の用語は以下リンク先から参照しています< 対応フラグ文字
| |
typedef int(* | XCharPutFunc) (int c) |
1文字出力を行う関数ポインタ型です [詳解] | |
XCharPutFunc | x_putc_stdout |
1文字出力関数ポインタです [詳解] | |
int | x_putc (int c) |
cをuint8_tにキャストして出力先に書き込みます [詳解] | |
int | x_puts (const char *str) |
strと改行を出力します [詳解] | |
int | x_puts2 (const char *str) |
strを出力します [詳解] | |
int | x_snprintf (char *buf, size_t size, const char *fmt,...) |
fmtに従って、出力をsizeバイトの領域を持つbufに書き込みます | |
int | x_sprintf (char *buf, const char *fmt,...) |
fmtに従って、出力をbufに書き込みます [詳解] | |
int | x_vsnprintf (char *buf, size_t size, const char *fmt, va_list args) |
fmtに従って、出力をsizeバイトの領域を持つbufに書き込みます | |
int | x_vsprintf (char *buf, const char *fmt, va_list args) |
fmtに従って、出力をbufに書き込みます [詳解] | |
int | x_printf (const char *fmt,...) |
fmtに従って出力先に書き込みます | |
int | x_vprintf (const char *fmt, va_list args) |
fmtに従って出力先に書き込みます | |
int | x_printf_to_cputter (XCharPutFunc cputter, const char *fmt,...) |
fmtに従ってcputterに書き込みます | |
int | x_vprintf_to_cputter (XCharPutFunc cputter, const char *fmt, va_list args) |
fmtに従ってcputterに書き込みます | |
int | x_printf_to_stream (XStream *stream, const char *fmt,...) |
fmtに従ってstreamに書き込みます | |
int | x_vprintf_to_stream (XStream *stream, const char *fmt, va_list args) |
fmtに従ってstreamに書き込みます | |
stdio.h系統の機能を提供します
typedef int(* XCharPutFunc) (int c) |
1文字出力を行う関数ポインタ型です
int x_putc | ( | int | c | ) |
cをuint8_tにキャストして出力先に書き込みます
int x_puts | ( | const char * | str | ) |
strと改行を出力します
int x_puts2 | ( | const char * | str | ) |
strを出力します
int x_sprintf | ( | char * | buf, |
const char * | fmt, | ||
... | |||
) |
fmtに従って、出力をbufに書き込みます
バッファオーバフローの危険性があるので、通常はx_snprintfを使用してください。 この関数は既存のsprintfを使用したコードの移植用に用意しています。
int x_vsprintf | ( | char * | buf, |
const char * | fmt, | ||
va_list | args | ||
) |
fmtに従って、出力をbufに書き込みます
バッファオーバフローの危険性があるので、通常はx_snprintfを使用してください。 この関数は既存のsprintfを使用したコードの移植用に用意しています。
XCharPutFunc x_putc_stdout |
1文字出力関数ポインタです
x_printf系関数を使用する場合は、このポインタになんらかの出力関数をセットして ください。