_access
, , _waccess
t_access
Détermine si un fichier est en lecture seule ou non. Des versions plus sécurisées sont disponibles ; voir _access_s
, _waccess_s
.
Pour _taccess
, consultez mappages de fonctions de texte générique.
Syntaxe
int _access(
const char *path,
int mode
);
int _waccess(
const wchar_t *path,
int mode
);
Paramètres
path
Chemin du répertoire ou du fichier.
mode
Attribut de lecture/écriture.
Valeur retournée
Chaque fonction retourne 0 si le fichier a le mode donné. La fonction retourne -1 si le fichier nommé n’existe pas ou n’a pas le mode donné ; dans ce cas, errno
est défini comme indiqué dans le tableau suivant.
Valeur | Description |
---|---|
EACCES |
Accès refusé : le paramètre d’autorisation du fichier n’autorise pas l’accès spécifié. |
ENOENT |
Chemin ou nom de fichier introuvable. |
EINVAL |
Paramètre non valide. |
Pour plus d’informations sur ces codes de retour et d’autres codes de retour, consultez , , _sys_errlist
_doserrno
et _sys_nerr
.errno
Notes
Quand elle est utilisée avec des fichiers, la fonction _access
détermine si le répertoire ou fichier spécifié existe et a les attributs spécifiés par la valeur de mode
. Lorsqu’ils sont utilisés avec des répertoires, _access
détermine uniquement si le répertoire spécifié existe ; dans les systèmes d’exploitation Windows 2000 et versions ultérieures, tous les répertoires disposent d’un accès en lecture et en écriture.
Valeur mode |
Test réalisé sur le fichier |
---|---|
00 | Existence uniquement |
02 | Écriture seule |
04 | Lecture seule |
06 | Lecture et écriture |
Cette fonction vérifie uniquement si le fichier et le répertoire sont en lecture seule ou non, il ne vérifie pas les paramètres de sécurité du système de fichiers. Pour cela, vous avez besoin d’un jeton d’accès. Pour plus d’informations sur la sécurité du système de fichiers, consultez Jetons d’accès. Une classe ATL existe pour fournir cette fonctionnalité ; voir CAccessToken
Classe.
_waccess
est une version à caractères larges de _access
; l'argument path
de _waccess
est une chaîne à caractères larges. Sinon,_waccess
et _access
se comportent de la même façon.
Cette fonction valide ses paramètres. S’il path
s’agit NULL
ou mode
ne spécifie pas de mode valide, le gestionnaire de paramètres non valide est appelé, comme décrit dans la validation des paramètres. Si l’exécution est autorisée à se poursuivre, la fonction affecte à errno
la valeur EINVAL
et retourne -1.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Mappages de fonctions de texte générique
Routine Tchar.h |
_UNICODE et _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_taccess |
_access |
_access |
_waccess |
Spécifications
Routine | En-tête requis | En-têtes facultatifs |
---|---|---|
_access |
<io.h> |
<errno.h> |
_waccess |
<wchar.h> ou <io.h> |
<errno.h> |
Exemple
L’exemple suivant utilise _access
pour vérifier le fichier nommé crt_ACCESS.C
pour voir s’il existe et si l’écriture est autorisée.
// crt_access.c
// compile with: /W1
// This example uses _access to check the file named
// crt_ACCESS.C to see if it exists and if writing is allowed.
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
// Check for existence.
if( (_access( "crt_ACCESS.C", 0 )) != -1 )
{
printf_s( "File crt_ACCESS.C exists.\n" );
// Check for write permission.
// Assume file is read-only.
if( (_access( "crt_ACCESS.C", 2 )) == -1 )
printf_s( "File crt_ACCESS.C does not have write permission.\n" );
}
}
File crt_ACCESS.C exists.
File crt_ACCESS.C does not have write permission.
Voir aussi
Gestion des fichiers
_chmod
, _wchmod
_fstat
, , _fstat32
, _fstati64
_fstat64
, , _fstat32i64
_fstat64i32
_open
, _wopen
_stat
, fonctions _wstat