perror,_wperror

提供: RAD Studio
移動先: 案内検索

stdio.h:インデックス への移動


ヘッダーファイル

errno.h, stdio.h

カテゴリ

診断ルーチン,入出力ルーチン

プロトタイプ

void perror(const char *s);

void _wperror(const wchar_t *s);

説明

システムエラーメッセージを出力します。

perror は,グローバル変数 errno を設定した最後のライブラリルーチンのシステムエラーメッセージを stderr ストリーム(通常はコンソール)に出力します。

引数 s に続けて,コロン(:),グローバル変数 errno の現在の値に対応するメッセージ,最後に改行文字を順に出力します。規約では,プログラムのファイル名を引数文字列として渡します。

エラーメッセージ文字列の配列には,グローバル変数 _sys_errlist を使ってアクセスされます。この配列のインデックスとしてグローバル変数 errno を使用すると,エラー番号に対応する文字列を参照できます。この文字列に改行文字は含まれません。

グローバル変数 _sys_nerr は,配列のエントリ数を保持します。

perror によって次のメッセージが生成されます。

メモ:  Win32 GUI アプリケーションの場合,stderr をリダイレクトする必要があります。

Arg list too big(引数リストが大きすぎる)

Attempted to remove current directory(現在のディレクトリを削除しようとした)

Bad address(不正なアドレス)

Bad file number(不正なファイル番号)

Block device required(ブロック装置が必要)

Broken pipe(パイプの破損)

Cross-device link(装置間リンク)

Error 0(エラー 0)

Exec format error(実行フォーマットエラー)

Executable file in use(実行形式ファイルを使用中)

File already exists(ファイルがすでに存在している)

File too large(ファイルが大きすぎる)

Illegal seek(不正なシーク)

Inappropriate I/O control operation(不適切な入出力制御処理)

Input/output error(入出力エラー)

Interrupted function call(割り込み関数の呼び出し)

Invalid access code(無効なアクセスコード)

Invalid argument(無効な引数)Resource busy(リソース使用中)

Invalid dataResource temporarily unavailable(無効な dataResource。一時的に使用不可能)

Invalid environment(無効な環境)

Invalid format(無効な形式)

Invalid function number(無効なファンクション番号)

Invalid memory block address(無効なメモリブロックアクセス)

Is a directory(ディレクトリである)

Math argument(数学引数)

Memory arena trashed(メモリブロックが破壊された)

Name too long(名前が長すぎる)

No child processes(子プロセスがない)

No more files(これ以上ファイルがない)

No space left on device(装置に領域が足りない)

No such device(指定された装置がない)

No such device or address(指定された装置またはアドレスがない)

No such file or directory(指定されたファイルまたはディレクトリがない)

No such process(指定されたプロセスがない)

Not a directory(ディレクトリではない)

Not enough memory(メモリが不十分)

Not same device(装置が異なる)

Operation not permitted(処理が許可されない)

Path not found(パスが見つからない)

Permission denied(アクセスが許可されない)

Possible deadlock(処理不可能)

Read-only file system(読み出し専用ファイルシステム)

Resource busy(リソース使用中)

Resource temporarily unavailable(リソースは一時的に使用不可能)

Result too large(結果が大きすぎる)

Too many links(リンクが多すぎる)

Too many open files(オープンファイルが多すぎる)



 #include <stdio.h>
 int main(void)
 {
     FILE *fp;
     fp = fopen("perror.dat", "r");
     if (!fp)
        perror("Unable to open file for reading");
     return 0;
 }



移植性



POSIX Win32 ANSI C ANSI C++

perror

+

+

+

+

_wperror

+