_access_s, _waccess_s

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

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é de la bibliothèque CRT.

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

Paramètres

path
Chemin d’accès du fichier ou répertoire.

mode
Paramètre d'autorisation.

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 comme suit et définit également errno à la même valeur.

EACCES
Accès refusé. Paramètre d’autorisation du fichier n’autorise pas l’accès spécifié.

ENOENT
Nom de fichier ou chemin d’accès introuvable.

EINVAL
Paramètre non valide.

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

Lorsqu’il est utilisé avec les fichiers, les _access_s fonction détermine si le fichier spécifié existe et est accessible en tant que spécifié par la valeur de mode. Lorsqu’il est utilisé avec des répertoires, _access_s détermine uniquement si le répertoire spécifié existe. Dans Windows 2000 et versions ultérieures, tous les répertoires ont lu et l’accès en écriture.

valeur du modeFichier de contrôle pour
00Existence.
02Autorisation en écriture.
04Autorisation de lecture.
06Autorisations en lecture et en écriture.

Autorisation de lire ou écrire dans le fichier n’est pas suffisant pour assurer la possibilité d’ouvrir un fichier. Par exemple, si un fichier est verrouillé par un autre processus, il peut ne pas être accessible même si _access_s renvoie la valeur 0.

_waccess_sest une version à caractère élargi de _access_s, où le path l’argument de _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 un mode valid, le Gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, ces fonctions attribuent à errno la valeur EINVAL et retournent EINVAL.

Mappages de routines de texte générique

Routine Tchar.h_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_taccess_s_access_s_access_s_waccess_s
RoutineEn-tête requisEn-tête facultatif
_access_s<io.h><errno.h>
_waccess_s<wchar.h>ou<io.h></io.h></wchar.h><errno.h>

Cet exemple utilise _access_s pour vérifier le fichier nommé crt_access_s.c pour voir si elle existe et si l’écriture est autorisée.

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

File crt_access_s.c exists.  
File crt_access_s.c does not have write permission.  

System.IO.FileAccess

Gestion de fichiers
_access, _waccess
_chmod, _wchmod
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32
_open, _wopen
_stat, _wstat, fonctions

Afficher: