_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
Voir aussi
Référence
_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32