_access、_waccess

ファイルが読み取り専用かはないかどうかを判定します。セキュリティが強化されたバージョンを使用できるようになりました。「_access_s、_waccess_s」を参照してください。

int _access( 
   const char *path, 
   int mode 
);
int _waccess( 
   const wchar_t *path, 
   int mode 
);

パラメーター

  • path
    ファイルまたはディレクトリ パス。

  • mode
    読み書き可能な属性。

戻り値

ファイルに指定されたモードがの場合0 が返されます。関数の戻り値 (ファイル名はなく特定のモードである 1; この場合errno は次の表に示すように設定されます。

  • EACCES
    拒否 : ファイルのアクセス許可の設定は指定されたアクセスできません。

  • ENOENT
    見つかったファイル名またはパス。

  • EINVAL
    無効なパラメーター。

リターン コードの詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。

解説

ファイルで使用する場合は**_access** の関数は指定されたファイルまたはディレクトリが存在しmode の値で指定された属性かどうかがあります。ディレクトリを使用すると**_access** は指定したディレクトリが存在するかどうかを決定します ; Windows 2000 以降のオペレーティング システムではすべてのディレクトリが読み取りおよび書き込みアクセス。

mode の値

ファイルのチェック

00

プロシージャのみ

02

書き込み専用

04

読み取り専用

06

読み取りと書き込みを行います。

この関数はファイルとディレクトリが読み取り専用かどうかをチェックしませんがファイル システムのセキュリティ設定をチェックします。それぞれのアクセス トークンが必要です。ファイル システムのセキュリティの詳細についてはアクセス トークン を参照してください。ATL クラスはこの機能を提供するために; CAccessToken クラス を参照してください。

_waccess 関数は、_access 関数のワイド文字バージョンです。_waccess 関数の引数 path は、ワイド文字列です。それ以外では、_waccess_access の動作は同じです。

この関数は、パラメーターを検証します。path が NULL の場合またはが有効 mode モードを指定しない場合無効なパラメーター ハンドラーが パラメーターの検証 に説明されているように開始されます。実行の継続が許可された場合関数 EINVAL 番目のセット errno -1。

汎用テキスト ルーチンのマップ

Tchar.h のルーチン

_UNICODE および _MBCS が未定義の場合

_MBCS が定義されている場合

_UNICODE が定義されている場合

_taccess

_access

_access

_waccess

必要条件

ルーチン

必須ヘッダー

省略可能なヘッダー

_access

<io.h>

<errno.h>

_waccess

<wchar.h> または <io.h>

<errno.h>

使用例

次の例ではという crt_ACCESS.C あるかどうかおよび書き込みを許可するかどうかを確認するにはファイル _access を使用します。

// crt_access.c
// compile with: /W1
// This example uses _access to check the file named
// crt_ACCESS.C to see if it exists and if writing is allowed.

#include  <io.h>
#include  <stdio.h>
#include  <stdlib.h>

int main( void )
{
    // Check for existence.
    if( (_access( "crt_ACCESS.C", 0 )) != -1 )
    {
        printf_s( "File crt_ACCESS.C exists.\n" );

        // Check for write permission.
        // Assume file is read-only.
        if( (_access( "crt_ACCESS.C", 2 )) == -1 )
            printf_s( "File crt_ACCESS.C does not have write permission.\n" );
    }
}
  
  

同等の .NET Framework 関数

System.IO.FileAccess

参照

関連項目

ファイル処理

_chmod、_wchmod

_fstat、_fstat32、_fstat64、_fstati64、_fstat32i64、_fstat64i32

_open、_wopen

_stat、_wstat 関数