日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
strerror |
error_code の中のエラー番号を,ロケール依存のエラー・メッセージ文字列にマップします。
#include <string.h>char *strerror (int error_code); (ANSI C)
char *strerror (int error_code[, int vms_error_code]); (HP C Extension)
error_code
エラー・コード。vms_error_code
OpenVMS エラー・コード。
strerror関数は, error_code の中のエラー番号を使用して,適切なロケール依存のエラー・メッセージを取得します。エラー・メッセージ文字列の内容は,プログラムの現在のロケールの LC_MESSAGES カテゴリによって決定されます。プログラムが標準関連の機能テスト・マクロ ( 『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.4.1 項を参照 ) を指定せずにコンパイルされた場合, strerrorは以下のように使用される第 2 の引数 (vms_error_code) を取ります。
- error_code が EVMSERR で,第 2 引数が存在する場合には,その第 2 引数が vaxc$errno値として使用される。
- error_code が EVMSERR で,第 2 引数が存在しない場合には, vaxc$errnoを参照して OpenVMS エラー条件を取得する。
「例」の項を参照してください。
第 2 の引数は, strerrorの ANSI C の定義には含まれていないので,移植性はありません。
エラーを示す戻り値は予約されていないため,アプリケーションは errnoの値を 0 に設定した後に strerrorを呼び出し, errnoの値をテストしなくてはなりません。ゼロ以外の値はエラー条件を示します。
x 該当するエラー・メッセージを含んでいるバッファへのポインタ。プログラム内でこのバッファを変更しないでください。また, strerror 関数の呼び出しにより,このバッファは新しいメッセージで上書きされることがあります。
#include <stdio.h> #include <errno.h> #include <string.h> #include <stdlib.h> #include <ssdef.h> main() { puts(strerror(EVMSERR)); errno = EVMSERR; vaxc$errno = SS$_LINKEXIT; puts(strerror(errno)); puts(strerror(EVMSERR, SS$_ABORT)); exit(1); }
この例のプログラムを実行すると,次の出力が生成されます。
nontranslatable vms error code: <none> network partner exited abort |
目次 | 索引 |
|