整数限定入出力(printf/scanf)

浮動小数点を使用しない、整数限定の printf / scanf 系関数です。 浮動小数点変換を含まないことでコードサイズと処理コストを抑えられます。

API

これらのAPIを使用するには、solid_lib.h をインクルードしてください。

#include "solid_lib.h"

注釈

これらは整数演算のみをサポートする入出力関数で、浮動小数点の変換指定子 (%f 等)には対応していません。浮動小数点を扱わない処理でコードサイズを 抑えたい場合に使用します。書式指定子の扱いは標準C関数(printf / scanf 系)に準じます。

iprintf

int iprintf(const char *format, ...)

整数限定の printf() 相当。書式化した文字列を標準出力へ出力します。

パラメータ:
  • format -- 書式文字列

戻り値:

出力した文字数

viprintf

int viprintf(const char *format, va_list ap)

iprintfva_list 版です。

パラメータ:
  • format -- 書式文字列

  • ap -- 可変引数リスト

戻り値:

出力した文字数

siprintf

int siprintf(char *str, const char *format, ...)

整数限定の sprintf() 相当。書式化した文字列を str に書き込みます。

パラメータ:
  • str -- 出力先バッファ

  • format -- 書式文字列

戻り値:

書き込んだ文字数(NULL終端を除く)

vsiprintf

int vsiprintf(char *strbuf, const char *format, va_list ap)

siprintfva_list 版です。

パラメータ:
  • strbuf -- 出力先バッファ

  • format -- 書式文字列

  • ap -- 可変引数リスト

戻り値:

書き込んだ文字数(NULL終端を除く)

sniprintf

int sniprintf(char *str, size_t n, const char *format, ...)

整数限定の snprintf() 相当。最大 n バイトまで str に書き込みます。

パラメータ:
  • str -- 出力先バッファ

  • n -- 書き込む最大サイズ(byte、NULL終端を含む)

  • format -- 書式文字列

戻り値:

NULL終端を除いて書き込もうとした文字数

vsniprintf

int vsniprintf(char *strbuf, size_t n, const char *format, va_list ap)

sniprintfva_list 版です。

パラメータ:
  • strbuf -- 出力先バッファ

  • n -- 書き込む最大サイズ(byte、NULL終端を含む)

  • format -- 書式文字列

  • ap -- 可変引数リスト

戻り値:

NULL終端を除いて書き込もうとした文字数

siscanf

int siscanf(const char *str, const char *format, ...)

整数限定の sscanf() 相当。str を書式に従って解析します。

パラメータ:
  • str -- 解析対象の文字列

  • format -- 書式文字列

戻り値:

変換に成功した項目数

vsiscanf

int vsiscanf(const char *str, const char *format, va_list argp)

siscanfva_list 版です。

パラメータ:
  • str -- 解析対象の文字列

  • format -- 書式文字列

  • argp -- 可変引数リスト

戻り値:

変換に成功した項目数