access,_waccess
(Access、 waccessから転送)
io.h:インデックス への移動
ヘッダーファイル
io.h
カテゴリ
入出力ルーチン
プロトタイプ
int access(const char *filename, int amode);
int _waccess(const wchar_t *filename, int amode);
説明
ファイルのアクセス可能性を判定します。
access は,filename で指定されたファイルが存在するかどうかと,それが読み取り可能,書き込み可能,または実行可能かどうかを確認します。
次に,amode 値のリストを示します。
06 |
読み書きの許可を確認します |
04 |
読み取りの許可を確認します |
02 |
書き込みの許可を確認します |
01 |
実行(無視される) |
00 |
ファイルの存在を確認します |
既存のファイルはすべて読み出しアクセス可能なので(amode は 04),00 と 04 の結果は同じです。同様に,Win32 では,書き込みアクセスが読み出しアクセスも含むため,amode 値の 06 と 02 は同等になります。
filename がディレクトリを参照する場合,access は,単にディレクトリが存在するかどうかを判定します。
戻り値
要求されたアクセスが許可されている場合,access は 0 を返します。そうでない場合は値 -1 を返し,グローバル変数 errno が次のいずれかの値に設定されます。
ENOENT |
パスまたはファイル名が見つからない |
EACCES |
アクセスが許可されない |
例
#include <stdio.h>
#include <io.h>
int file_exists(char *filename);
int main(void)
{
printf("Does NOTEXIST.FIL exist: %s\n",
file_exists("NOTEXISTS.FIL") ? "YES" : "NO");
return 0;
}
int file_exists(char *filename)
{
return (access(filename, 0) == 0);
}
移植性
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
アクセス |
+ |
+ |
||
_waccess |
NT のみ |