この章の目次にもどる
前頁:1.6 bsetjmp.h にもどる
次頁:1.8 bstdlib.h にすすむ

1.7 bstdio.h

標準関数ライブラリ。C 言語に共通な関数の一部のみサポートしている。

標準入出力とはコンソールの入力/出力を指す。 コンソールを提供していないシステムでは、 これらの標準入出力関数は使用できない。 通常はデバッグ用コンソールが標準入出力になっている。 したがって標準入出力関数は主にデバッグ用に使用される。

標準入出力のファイルへのリダイレクション等の機能はない。

sprintf / vsprintf は標準入出力を参照しないので、 どのような場合でも使用することができる。

getchar
 
標準入力

【形式】

int  getchar(void)

【パラメータ】

なし

【リターン値】

=EOF   ファイル終了、またはエラー
≠EOF   読み込んだ文字

【解説】

標準入力から 1 文字読み込んで、その文字を返す。

標準入力ストリームでファイルの終りが検出された場合は EOF を返す。

エラーが発生した場合、 EOF を返す。

【参照】

putchar(),gets(),puts()

putchar
 
標準出力

【形式】

int  putchar(int c)

【パラメータ】

int  c     出力する文字(0〜255)

【リターン値】

≠EOF   出力した文字
=EOF   エラーが発生した

【解説】

標準出力に 1 文字書き出す。

【参照】

getchar(),gets(),puts()

gets
 
文字列の読み込み

【形式】

char*   gets(char *s)

【パラメータ】

char *s 入力文字列格納領域へのポインタ

【リターン値】

≠NULL  読み込み文字列格納領域へのポインタ
=NULL  ファイルの終了、またはエラー

【解説】

標準入力から文字列を読み込む。

標準入力で文字列の終了とみなす箇所は以下 2 通りである。

改行文字を文字列終了とした場合、改行文字は捨てられ、 s にはその代りに空白文字 NULL を付加する。

【参照】

getchar(),putchar(),puts()

puts
 
文字列の標準出力への書き込み

【形式】

int  puts(char *s)

【パラメータ】

char    *s    出力文字列

【リターン値】

=EOF       エラー
>0        正常終了

【解説】

標準出力に文字列を書く。

文字列の終了となる空白文字 NULL は書かれず、代りに改行文字が付加される。

【参照】

getchar(),putchar(),gets()
printf
 
書式付き標準出力

【形式】

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

【パラメータ】

const char format   書式

format以降の引数    format にしたがって変換される文字・数値
                    引数の個数は書式 format と同じにすること。

【リターン値】

≧0    出力文字バイト数(NULL を除く)
<0    エラー

【解説】

書式付きの標準出力を行なう。

書式 format に対応する実引数が無い場合、動作は不定である。 実引数の方が書式 format より多い場合、 余分な引数は無視される。 引数の型が、書式中の対応する変換仕様と一致しない場合には、 動作未定義である。

変換により生成される最大文字数の最低値は 509 バイト以上である。

□入力変換指定

書式 format で使用される、 入力変換指定を以下に示す。

%[変換修飾フラグ][フィールド幅][数値精度][型変換修飾子][変換指定子]

【参照】

sprintf
 
書式付き出力

【形式】

int  sprintf(char *sp, const char *format, ...)

【パラメータ】

char       *sp      変換文字列の格納先

const char format   書式

format以降の引数    format にしたがって変換される文字・数値
                    引数の個数は書式 format と同じにすること。

【リターン値】

≧0    出力文字バイト数(NULL を除く)
<0    エラー

【解説】

変換結果文字列が sp の指す領域に格納されることを除いて printf() と同様である。

書式 format に対応する実引数が無い場合、 動作は不定である。 実引数の方が書式 format より多い場合、 余分な引数は無視される。 引数の型が、書式中の対応する変換仕様と一致しない場合には、動作未定義である。

変換により生成される最大文字数の最低値は 509 バイト以上である。

入力変換指定は printf() を参照のこと。

【参照】

printf(),vprintf()

vprintf
 
書式付き出力

【形式】

int  vprintf(const char *format, va_list ap)

【パラメータ】

const char format   書式
va_list ap      引数の配列

【リターン値】

≧0    出力文字バイト数(NULL を除く)
<0    エラー

【解説】

書式付きの標準出力を行う。 可変個引数を ap で置き換えた printf と同様である。 呼び出し前に va_start マクロで ap が初期化されなければならない。

書式 format に対応する実引数が無い場合、 動作は不定である。 実引数の方が書式 format より多い場合、 余分な引数は無視される。 引数の型が、書式中の対応する変換仕様と一致しない場合には、 動作未定義である。

変換により生成される最大文字数の最低値は 509 バイト以上である。

入力変換指定は printf() を参照のこと。

【参照】

printf(),sprintf()

vsprintf
 
書式付き出力

【形式】

int  vsprintf(char *buf, const char *format, va_list ap)

【パラメータ】

char       *buf     結果を保持するためのバッファ
const char format   書式
va_list    ap       引数の配列

【リターン値】

≧0    出力文字バイト数(NULL を除く)
<0    エラー

【解説】

可変個引数を ap で置き換えた sprintf と同様である。 呼び出し前に va_start マクロで ap が初期化されなければならない。

書式 format に対応する実引数が無い場合、 動作は不定である。実引数の方が書式 format より多い場合、余分な引数は無視される。 引数の型が、書式中の対応する変換仕様と一致しない場合には、 動作未定義である。

変換により生成される最大文字数の最低値は 509 バイト以上である。

入力変換指定は printf() を参照のこと。

【参照】

printf(),vprintf()

perror
 
システムエラーメッセージ

【形式】

void    perror(const char *prompt)

【パラメータ】

const char *prompt  エラーメッセージの前置文字列

【リターン値】

なし

【解説】

errno の値に対するエラーメッセージを標準エラー出力へ書き出す。

prompt はエラーメッセージの前に付く文字列を指し、 出力時には promt 文字列の後ろにコロン : を出力する。 たとえば

    perror("err");

とすると、以下の文字列が、エラーメッセージの前に付く。

    err:

promptNULL の場合メッセージの前には何も付かない。

【参照】

panic
 
システムエラー

【形式】

void    panic(const char *prompt)

【パラメータ】

const char *prompt  エラーメッセージの前置文字列

【リターン値】

なし

【解説】

errno の値に対するエラーメッセージを標準エラー出力へ書き出し、 処理を終了する。

prompt はエラーメッセージの前に付く文字列を指し、 出力時には promt 文字列の後ろにコロン : を出力する。 たとえば

    perror("err");

とすると、以下の文字列が、エラーメッセージの前に付く。

    err:

promptNULL の場合メッセージの前には何も付かない。

【参照】


この章の目次にもどる
前頁:1.6 bsetjmp.h にもどる
次頁:1.8 bstdlib.h にすすむ