本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 3 : ライブラリ (N~Z) > p

putwc(3C)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

putwc(), putwchar(), fputwc() ― ストリームファイルへのワイドキャラクタ出力

構文

#include <wchar.h>

wint_t putwc(wint_t wc, FILE *stream);

wint_t putwchar(wint_t wc);

wint_t fputwc(wint_t wc, FILE *stream);

_INCLUDE__STDC_A1_SOURCE のみ

wint_t putwc(wchar_t wc, FILE *stream);

wint_t putwchar(wchar_t wc);

wint_t fputwc(wchar_t wc, FILE *stream);

廃止インタフェース

wint_t putwc_unlocked(wint_t wc, FILE *stream);

wint_t putwchar_unlocked(wint_t wc);

wint_t fputwc_unlocked(wint_t wc, FILE *stream);

特記事項

これらの関数は、 XPG4 Worldwide Portability Interface ワイドキャラクタ I/O 関数に従います。 これらは、 putc(3S) で定義される、8 ビット文字に対する I/O 関数と同じ働きをします。

説明

putwc() 

出力 stream 上の、ファイルポインターが指している位置に、 ワイドキャラクタ wc に対応する文字を書き込みます。 putwchar(wc) は、 putwc(wc, stdout) として定義されます。 putwc() および putwchar() は、どちらもマクロおよび関数として定義されます。

fputwc()  

putwc() と同じです。ただし、マクロではなく関数なので、引き数として使うことができます。

標準エラーストリーム stderr を除く出力ストリームは、デフォルトで、ファイルに出力される場合にはバッファー化され、ターミナルに出力される場合にはラインバッファー化されます。 標準エラー出力ストリーム stderr は、デフォルトではバッファー化されませんが、 freopen() fopen(3S) 参照) を使用すると、バッファー化もしくはラインバッファー化されます。 setbuf() もしくは setvbuf() setbuf(3S) 参照) を使用すると、ストリームのバッファーリング対象を変更できます。

これらの関数、型 wint_t、 値 WEOF は、ヘッダー <wchar.h> で定義されています。

廃止インタフェース

putwc_unlocked(), putwchar_unlocked(), fputwc_unlocked() は、ストリームファイルにワイドキャラクタを出力します。

アプリケーション使用法

_INCLUDE__STDC_A1_SOURCE プロトタイプを使用するには、 _INCLUDE__STDC_A1_SOURCE フラグをコンパイラオプションとして渡すか、ソースファイルでマクロとして定義する必要があります。

ストリームに fputwc()putwc()、 または putwchar() を適用すると、ストリームがバイト指向になります (orientation(5) を参照)。

多言語化対応

ロケール

LC_CTYPE カテゴリによって、ワイドキャラクタ変換の方法が決まります。

サポートされるコードセット

シングル/マルチバイト文字がサポートされています。

戻り値

正常終了すると、 putwc(), putwc_unlocked(), fputwc(), fputwc_unlocked(), putwchar(), および putwchar_unlocked() は、それぞれの書き出した値に対応するワイドキャラクタを返します。 失敗すると、定数 WEOF を返し、ストリームにエラーを示し、エラーを示す値を errno に設定します。

エラー

putwc(), putwc_unlocked(), putwchar(), putwchar_unlocked(), fputwc(), および fputwc_unlocked() は、 stream がバッファー化されていないか、 stream バッファーが掃き出される必要がある場合に失敗し、 write() コマンドを実行します。

[EAGAIN] 

stream の下のファイル記述子に対して O_NONBLOCK フラグが立てられ、プロセスは write 操作の間遅延されます。

[EBADF] 

stream の下のファイル記述子が、書き込み用に開かれた、有効なファイル記述子ではないことを示します。

[EFBIG] 

書き込もうとしたファイルが、プロセスのファイルサイズ上限、もしくは最大ファイルサイズを超えていることを示します ulimit(2) 参照)。

[EINTR] 

write() システムコールの最中にシグナルが発生したことを示します。

[EIO] 

物理的な I/O エラーが発生しているか、またはプロセスがバックグラウンド プロセスグループの中にある状態で、制御ターミナルへ書き出そうとしていることを示します。 TOSTOP が設定されますが、プロセスは SIGTTOU シグナルを無視も妨害もしていません。そのプロセスのプロセスグループは、親なしにされます。

[ENOSPC] 

ファイルを格納しているデバイスに空きスペースがないことを示します。

[EPIPE] 

読み込み用に開かれてないパイプもしくは FIFO に対して、書き込もうとしていることを示します。 SIGPIPE シグナルがプロセスに送られます。

[EILSEQ] 

ワイドキャラクタ wc が、有効な文字ではありません。

write() 関数が実行されて、その他の errno 値が設定されることもあります write(2) 参照)。

警告

ワイドキャラクタ I/O ルーチンを使っているのに、標準入力からの読み込みには read() 自身を使っているようなプログラムでは、ラインバッファリングが混乱を招いたり、誤動作の原因になることがあります。 行の一部を出力ターミナルに出力した後で大量の計算を行う場合、計算を始める前に標準出力に対して fflush() fclose(3S) 参照) 処理を行う必要があります。

putwc_unlocked(), putwchar_unlocked(), fputwc_unlocked() インタフェースは廃止され、現在では既存の DCE アプリケーションとの互換性を保つためにだけサポートされています。新しいマルチスレッドアプリケーションでは、 putwc(), putwchar() および fputwc() を使用してください。

著者

putwc() は、OSF および HP で開発されました。

標準準拠

putwc(): XPG4

fputwc(): XPG4

putwchar(): XPG4

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.