EN JA
FWIDE(3)
FWIDE(3) Linux Programmer's Manual FWIDE(3)

名前

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

書式


#include <wchar.h>
 

int fwide(FILE * stream , int mode );
 

glibc 向けの機能検査マクロの要件 ( feature_test_macros(7) 参照):
 
fwide():
_XOPEN_SOURCE >= 500 || _ISOC99_SOURCE ||
 
_ISOC95_SOURCE /* Since glibc 2.12 */ ||
 
_POSIX_C_SOURCE >= 200112L;
 
or cc -std=c99

説明

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

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

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

返り値

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

準拠

C99, POSIX.1-2001.

注意

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

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

関連項目

fprintf(3), fwprintf(3)

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
2011-09-17 GNU