名前


fwide - FILE ストリームの入出力単位を設定または取得する

書式


#include <wchar.h>

int fwide(FILE *stream, int mode);

説明


mode がゼロならば fwide() 関数は stream の現在の 入出力単位を決定して返す。stream がワイド文字単位のとき、 すなわちワイド文字 I/O は許されてバイト(char) I/O は許されていない ときには返り値 > 0 となる。 stream がバイト単位のとき、すなわちバイト I/O は許されて ワイド文字 I/O は許されていないときには返り値 < 0 となる。 stream の入出力単位がまだ決定されていない場合にはゼロが返される。 この場合には次の I/O 操作によって入出力単位が変更される。 ( バイト I/O 操作の場合にはバイト単位に、ワイド文字 I/O 操作の場合には ワイド文字単位になる。)

一度ストリームの入出力単位が決まると、変更することはできず、 ストリームがクローズ(close)されるまで保持される。

mode がゼロでない場合には fwide() 関数は最初に stream の入出力単位を設定しようとする。(mode > 0 の場合にはワイド文字単位に、 mode < 0 の場合にはバイト単位に。) そして上記と同様に現在の 入出力単位を返す。

返り値


fwide() 関数はストリームの入出力単位の設定を試みた後にその値を返す。 返り値 > 0 ならばワイド文字単位、返り値 < 0 ならばバイト単位を意味する。 返り値が 0 ならば未決定を意味する。

準拠


C99, POSIX.1-2001.

注意


バイト単位のストリームにワイド文字を出力にするには fprintf(3) 関数の %lc 変換や %ls 変換を使用することができる。

ワイド文字単位のストリームにバイト単位の出力を行うには fwprintf(3) 関数の %c 変換や %s 変換を使用することができる。

関連項目


fprintf(3), fwprintf(3)

openSUSE Logo

コンテンツ