_access_s, _waccess_s
Détermine les autorisations de lecture/écriture du fichier. Il s'agit de versions de _access, _waccess avec des améliorations de sécurité, comme décrit dans Fonctionnalités de sécurité dans le 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 chemin d'accès au répertoire.mode
Définition des autorisations
Valeur de retour
Chaque fonction retourne 0 si le fichier est le mode donné. La fonction retourne un code d'erreur si le fichier nommé n'existe pas ou n'est pas disponible dans le 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 du fichier n'autorise pas l'accès spécifié.ENOENT
Fichier ou 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 les fichiers, la fonction _access_s détermine si le fichier spécifié existe et est accessible comme spécifié par la valeur demode. Lorsqu'ils sont utilisés avec des répertoires, _access_s détermine seulement si le repertoire spécifié existe. Dans Windows 2000 et dans les systèmes d'exploitation ultérieurs, tous les répertoires ont un accès en lecture et en écriture.
valeur du mode |
Les contrôles de fichier |
---|---|
00 |
Existence uniquement. |
02 |
Autorisation d'écriture. |
04 |
Autorisation de lecture. |
06 |
Autorisation de lecture et d'écriture. |
L'autorisation de lire ou écrire le fichier n'est pas suffisante pour garantir la possibilité d'ouvrir un fichier. Par exemple, si un fichier est verrouillé par un autre processus, elle peut ne pas être accessibles même si _access_sretourne 0.
_waccess_s est une version à caractères larges de _access_s; dans laquelle l'argument path vers _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 que mode ne spécifie aucun mode valide, 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 définissent 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 |
Configuration requise
Routine |
En-tête requis |
En-tête facultatif |
---|---|---|
_access_s |
<io.h,> |
<errno.h> |
_waccess_s |
<stdio.h> ou <wchar.h> |
<errno.h> |
Exemple
L'exemple suivant utilise _access_spour vérifier si le fichier nommé crt_ACCESS.C 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" );
}
}
Équivalent .NET Framework
Voir aussi
Référence
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32