errno
定数
構文
#include <errno.h>
解説
errno
定数は、さまざまなエラー条件に対してerrno
に割り当てられる値です。
ERRNO.H
には、errno
値の定義が含まれています。 ただし、ERRNO.H
に指定されているすべての定義が 32 ビット Windows オペレーティング システムで使用されるわけではありません。 ERRNO.H
の値の一部は、UNIX 系のオペレーティング システムとの互換性を維持することを目的としています。 32 ビット Windows オペレーティング システムの errno
値は、UNIX システムの errno
値のサブセットです。
errno
値は、Windows オペレーティング システムのシステム コールが返す実際のエラー コードと必ずしも同じとは限りません。 実際のオペレーティング システムのエラー コードにアクセスするには、この値を含む _doserrno
変数を使用します。
サポートされている errno
値を次に示します。
定数 | 説明 | 値 |
---|---|---|
E2BIG |
引数リストが長すぎます。 | 7 |
EACCES |
アクセス許可が拒否されました" のような出力で失敗します。 ファイルのアクセス許可設定では、指定したアクセスは許可されません。 ファイルの属性と互換性のない方法でファイル (または場合によってはディレクトリ) にアクセスしようとしました。 たとえば、開いていないファイルから読み取ろうとしたときにエラーが発生する可能性があります。 または、書き込み用に既存の読み取り専用ファイルを開こうとした場合、またはファイルではなくディレクトリを開こうとした場合。 MS-DOS オペレーティング システムのバージョン 3.0 以降では、 EACCES がロック違反または共有違反を示す場合があります。また、ファイルまたはディレクトリを既存のディレクトリと同じ名前に変更しようとした場合や、既存のディレクトリを削除しようとした場合にも、このエラーが発生します。 |
13 |
EAGAIN |
これ以上プロセスを生成できないか、メモリが不足しているか、最大の入れ子レベルに達しました。 プロセス スロットがなくなったり、メモリが不足したり、最大入れ子レベルに達したりしたため、新しいプロセスを作成できませんでした。 | 11 |
EBADF |
ファイル番号が正しくありません。 2 つの原因が考えられます。1) 指定されたファイル記述子が有効な値ではないか、開いているファイルを参照していません。 2) 読み取り専用モードで開いているファイル、またはデバイスに書き込もうとしたとき。 | 9 |
EBUSY |
デバイスまたはリソースがビジー状態です。 | 16 |
ECHILD |
子プロセスが存在しません。 | 10 |
EDEADLK |
リソース デッドロックが発生します。 | 36 |
EDEADLOCK |
以前のバージョンの Microsoft C との互換性のために EDEADLK と同じです。 |
36 |
EDOM |
算術演算引数が使用されました。 数学関数の引数が関数のドメインにありません。 | 33 |
EEXIST |
ファイルが存在します。 既に存在するファイルを作成しようとしています。 たとえば、_O_CREAT および _O_EXCL フラグが _open の呼び出しで指定されますが、指定した名前のファイルが既に存在しています。 |
17 |
EFAULT |
アドレスが正しくありません。 | 14 |
EFBIG |
ファイルが大きすぎます。 | 27 |
EILSEQ |
無効なバイト シーケンス (たとえば、MBCS 文字列) です。 |
42 |
EINTR |
関数に割り込みがありました。 | 4 |
EINVAL |
引数が無効です。 関数の引数のいずれかに無効な値が指定されています。 たとえば、( fseek の呼び出しによる) ファイル ポインターの配置時に原点に指定された値は、ファイルの先頭の前にあります。 |
22 |
EIO |
I/O エラーです。 | 5 |
EISDIR |
ディレクトリです。 | 21 |
EMFILE |
開いているファイルが多すぎます。 使用できるファイル記述子が不足しているため、これ以上ファイルを開くことができません。 | 24 |
EMLINK |
リンクが多すぎます。 | 31 |
ENAMETOOLONG |
ファイル名が長すぎます。 | 38 |
ENFILE |
システムで開いているファイルが多すぎます。 | 23 |
ENODEV |
該当するデバイスがありません。 | 19 |
ENOENT |
該当するファイルまたはディレクトリがありません。 指定したファイルまたはディレクトリが存在しないか、見つかりません。 このメッセージは、指定したファイルが存在しないか、パスのコンポーネントで既存のディレクトリが指定されていない場合に発生することがあります。 | 2 |
ENOEXEC |
実行形式エラーです。 実行可能でないファイル、または無効な実行可能ファイル形式のファイルを実行しようとしました。 | 8 |
ENOLCK |
ロックがありません。 | 39 |
ENOMEM |
メモリ不足のため、目的の操作を実行できません。 たとえば、このメッセージは、子プロセスの実行に十分なメモリがない場合や、 _getcwd 呼び出しの割り当て要求が満たされない場合に発生する可能性があります。 |
12 |
ENOSPC |
デバイスに空き領域がありません。 デバイスの書き込み可能領域が不足しています (たとえば、ディスクが満杯の場合です)。 | 28 |
ENOSYS |
関数はサポートされていません。 | 40 |
ENOTDIR |
ディレクトリではありません。 | 20 |
ENOTEMPTY |
ディレクトリは空ではありません。 | 41 |
ENOTTY |
不適切な I/O 制御操作です。 | 25 |
ENXIO |
該当するデバイスまたはアドレスがありません。 | 6 |
EPERM |
操作は許可されていません。 | 1 |
EPIPE |
パイプが破壊されています。 | 32 |
ERANGE |
結果が大きすぎます。 数値演算関数の引数が大きすぎて、結果の有効数字の一部またはすべてが失われます。 このエラーは、引数が予想よりも大きい場合に他の関数でも発生することがあります (たとえば、_getcwd の buffer 引数が予想より長い場合です)。 |
34 |
EROFS |
読み取り専用ファイル システムが使用されています。 | 30 |
ESPIPE |
シークが無効です。 | 29 |
ESRCH |
該当するプロセスがありません。 | 3 |
EXDEV |
デバイス間リンクがあります。 rename 関数を使用して、ファイルを別のデバイスに移動しようとしました。 |
18 |
STRUNCATE |
結果として切り詰められる文字列のコピーまたは連結です。 以下を参照してください。_TRUNCATE |
80 |
POSIX との互換性のために、次の値がサポートされています。
定数 | 説明 | 値 |
---|---|---|
EADDRINUSE |
使用中のアドレスです。 | 100 |
EADDRNOTAVAIL |
アドレスは使用できません。 | 101 |
EAFNOSUPPORT |
アドレス ファミリがサポートされていません。 | 102 |
EALREADY |
接続は既に実行中です。 | 103 |
EBADMSG |
無効なメッセージです。 | 104 |
ECANCELED |
操作が取り消されました。 | 105 |
ECONNABORTED |
接続が中止されました。 | 106 |
ECONNREFUSED |
接続が拒否されました。 | 107 |
ECONNRESET |
接続がリセットされました。 | 108 |
EDESTADDRREQ |
宛先アドレスが必要です。 | 109 |
EHOSTUNREACH |
ホストに到達できません。 | 110 |
EIDRM |
識別子が削除されました。 | 111 |
EINPROGRESS |
操作は実行中です。 | 112 |
EISCONN |
既に接続されています。 | 113 |
ELOOP |
シンボリック リンクのレベルが多すぎます。 | 114 |
EMSGSIZE |
メッセージ サイズです。 | 115 |
ENETDOWN |
ネットワークがダウンしています。 | 116 |
ENETRESET |
ネットワークがリセットされました。 | 117 |
ENETUNREACH |
ネットワークに到達できません。 | 118 |
ENOBUFS |
バッファー領域がありません。 | 119 |
ENODATA |
使用できるメッセージがありません。 | 120 |
ENOLINK |
リンクがありません。 | 121 |
ENOMSG |
メッセージがありません。 | 122 |
ENOPROTOOPT |
プロトコル オプションがありません。 | 123 |
ENOSR |
ストリーム リソースがありません。 | 124 |
ENOSTR |
ストリームではありません。 | 125 |
ENOTCONN |
接続されていません。 | 126 |
ENOTRECOVERABLE |
回復不可能な状態です。 | 127 |
ENOTSOCK |
ソケットではありません。 | 128 |
ENOTSUP |
サポートされていません。 | 129 |
EOPNOTSUPP |
操作はサポートされていません。 | 130 |
EOTHER |
その他。 | 131 |
EOVERFLOW |
値が大きすぎます。 | 132 |
EOWNERDEAD |
所有者が停止しました。 | 133 |
EPROTO |
プロトコル エラーです。 | 134 |
EPROTONOSUPPORT |
プロトコルはサポートされていません。 | 135 |
EPROTOTYPE |
プロトコルの種類が正しくありません。 | 136 |
ETIME |
ストリームのタイムアウトです。 | 137 |
ETIMEDOUT |
タイムアウトしました。 | 138 |
ETXTBSY |
テキスト ファイルがビジー状態です。 | 139 |
EWOULDBLOCK |
操作がブロックされます。 | 140 |