Share via


_access_s, _waccess_s

Détermine les autorisations de lecture/écriture de fichier.Il s'agit d'une version de _access, _waccess avec des améliorations de sécurité comme décrit dans Fonctionnalités de sécurité du CRT.

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

Paramètres

  • path
    Fichier ou un chemin d'accès au répertoire.

  • mode
    paramètre d'autorisation.

Valeur de retour

Chaque fonction retourne 0 si le fichier a le mode donné.La fonction retourne un code d'erreur si le fichier nommé n'existe pas ou n'est pas accessible en mode donné.Dans ce cas, la fonction retourne un code d'erreur de l'ensemble de la façon suivante et définit également errno à la même valeur.

  • EACCES
    Accès refusé.Le paramètre d'autorisation de fichier n'autorise pas l'accès spécifié.

  • ENOENT
    Nom de fichier ou un chemin d'accès introuvable.

  • EINVAL
    paramètre non valide.

Pour plus d'informations, consultez errno, _doserrno, _sys_errlist, et _sys_nerr.

Notes

Lorsqu'elle est utilisée avec des fichiers, la fonction d' _access_s détermine si le fichier spécifié existe et est accessible comme spécifié par la valeur d' mode.En cas de utilisation avec les répertoires, _access_s ne détermine si le répertoire spécifié existe.Dans Windows 2000 et les systèmes d'exploitation ultérieurs, tous les répertoires ont accès en lecture et en écriture.

valeur de mode

active le fichier pour

00

Existence uniquement.

02

Autorisation en écriture.

04

droits d'accès en lecture.

06

autorisation en lecture et en écriture.

L'autorisation de lire ou d'écrire le fichier n'est pas suffisant pour garantir la possibilité d'ouvrir un fichier.Par exemple, si un fichier est verrouillé par un autre processus, il peut être accessible bien que retourne 0 d' _access_s .

_waccess_s est une version à caractère élargi d' _access_s, où l'argument d' path à _waccess_s est une chaîne à caractères larges.Sinon, _waccess_s et _access_s se comportent de la même façon.

ces fonctions valident leurs paramètres.Si path est NULL ou mode ne spécifie pas de mode valide, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, ces errno défini par fonctions à EINVAL et à EINVALde retour.

mappages de routines de texte générique

routine de Tchar.h

_UNICODE et _MBCS non définis

_MBCS défini

_UNICODE défini

_taccess_s

_access_s

_access_s

_waccess_s

Configuration requise

routine

en-tête requis

en-tête facultatif

_access_s

<io.h>

<errno.h>

_waccess_s

<wchar.h> ou <io.h>

<errno.h>

Exemple

Cet exemple utilise _access_s pour activer le fichier nommé crt_access_s.c pour voir s'il existe et si l'écriture est autorisé.

// 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" );
    }
}
  
  

Équivalent .NET Framework

System.IO.FileAccess

Voir aussi

Référence

Gestion de fichiers

_access, _waccess

_chmod, _wchmod

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, fonctions de _wstat