共用方式為


_access_s _waccess_s

判斷檔案的讀取/寫入權限。 這是一個版本的_access _waccess中所述的安全性增強功能與安全性功能,則在 CRT 中

errno_t _access_s( 
   const char *path, 
   int mode 
);
errno_t _waccess_s( 
   const wchar_t *path, 
   int mode 
);

參數

  • path
    檔案或目錄的路徑。

  • mode
    權限設定。

傳回值

如果檔案中有指定的模式,每個函式會傳回 0。 如果命名的檔案不存在或無法存取指定的模式,則函數會傳回錯誤碼。 在此情況下,函式,如下所示,從集合傳回錯誤碼,還會設定errno為相同的值。

  • EACCES
    存取遭拒。 檔案的權限設定不允許指定的存取。

  • ENOENT
    找不到路徑或檔案名稱。

  • EINVAL
    不正確的參數。

如需詳細資訊,請參閱 errno、 _doserrno、 _sys_errlist 和 _sys_nerr

備註

檔案,搭配使用**_access_s函式會判斷指定的檔案是否存在,並可當做存取值所指定的mode。 與目錄一起使用時_access_s**判斷指定的目錄是否存在。 在Windows 2000與稍後操作系統,所有的目錄擁有讀取和寫入存取權限。

模式值

檢查檔案

00

只存在。

02

寫入權限。

04

讀取權限。

06

讀取和寫入權限。

讀取或寫入檔案的權限不足以確保能夠開啟檔案。 比方說,如果檔案被其他處理程序鎖定,它可能無法存取即使**_access_s**會傳回 0。

_waccess_s寬字元版本的**_access_s**,其中path引數為**_waccess_s是寬字元字串。 否則, _waccess_s_access_s**運作方式完全相同。

這些函式會驗證它們的參數。 如果path是NULL或mode並未指定有效的模式中,不正確的參數處理常式會叫用,如所述參數驗證。 如果執行,則允許繼續執行,這些函式會設定errno到EINVAL ,並傳回EINVAL。

泛用文字常式對應

Tchar.h 常式

_Unicode 之後,未定義的 _MBCS

定義的 _MBCS

定義 _unicode 之後

_taccess_s

_access_s

_access_s

_waccess_s

需求

常式

所需的標頭

選擇性標頭

_access_s

<io.h>

<errno.h>

_waccess_s

<wchar.h> 或者 <io.h>

<errno.h>

範例

這個範例會使用**_access_s**檢查名為 crt_access_s.c,以查看是否存在及是否允許寫入的檔案。

// crt_access_s.c

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

int main( void )
{
    errno_t err = 0;

    // Check for existence. 
    if ((err = _access_s( "crt_access_s.c", 0 )) == 0 )
    {
        printf_s( "File crt_access_s.c exists.\n" );

        // Check for write permission. 
        if ((err = _access_s( "crt_access_s.c", 2 )) == 0 )
        {
            printf_s( "File crt_access_s.c does have "
                      "write permission.\n" );
        }
        else
        {
            printf_s( "File crt_access_s.c does not have "
                      "write permission.\n" );
        }
    }
    else
    {
        printf_s( "File crt_access_s.c does not exist.\n" );
    }
}
      

.NET Framework 對等用法

System.IO.FileAccess

請參閱

參考

檔案處理

_access _waccess

_chmod _wchmod

_fstat、 _fstat32、 _fstat64、 _fstati64、 _fstat32i64、 _fstat64i32

_open _wopen

_stat,_wstat 函式