Partager via


_access, _waccess

Pour déterminer si un fichier est en lecture seule Des versions plus sécurisées sont disponibles ; consultez _access_s, _waccess_s.

int _access( 
   const char *path, 
   int mode 
);
int _waccess( 
   const wchar_t *path, 
   int mode 
);

Paramètres

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

  • mode
    Attribut en lecture/écriture.

Valeur de retour

Chaque fonction retourne 0 si le fichier est 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.

  • 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 sur ces codes de retour et autres, consultez _doserrno, errno, _sys_errlist et _sys_nerr.

Notes

Lorsqu'elle est utilisée avec les fichiers, la fonction _access détermine si le fichier ou le répertoire spécifié existe et a les attributs spécifiés par la valeur mode. Lorsqu'ils sont utilisés avec des répertoires, _access détermine si le dossier spécifié existe ; dans Windows 2000 ou dans les systèmes d'exploitation et versions ultérieures, tous les répertoires ont un accès en lecture et en écriture.

Valeur de mode

Les contrôles de fichier

00

Existence uniquement

02

en écriture seule

04

En lecture seule

06

Création, lecture et écriture

Cette fonction vérifie uniquement, si le fichier ou le répertoire est 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 lesJetons d'accès. Une classe ATL existe pour fournir cette fonctionnalité ; consultez CAccessToken, classe.

_waccess est une version à caractères larges de _access; l'argument path vers _waccess est une chaîne à caractères larges. _waccess et _access se comportent sinon de manière identique.

Cette fonction valide ses 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, la fonction définit errno à la valeur EINVAL et retourne -1.

Mappages de routines de texte générique

Routine Tchar.h

_UNICODE et _MBCS non définis

_MBCS défini

_UNICODE défini

_taccess

_access

_access

_waccess

Configuration requise

Routine

En-tête requis

En-têtes facultatifs

_access

<io.h,>

<errno.h>

_waccess

<stdio.h> ou <wchar.h>

<errno.h>

Exemple

L'exemple suivant utilise _accesspour vérifier si le fichier nommé crt_ACCESS.C 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" );
    }
}
  

Équivalent .NET Framework

FileAccess

Voir aussi

Référence

Gestion de fichiers

_chmod, _wchmod

_fstat, _fstat32, _fstat64, _fstati64, _fstat32i64, _fstat64i32

_open, _wopen

_stat, _wstat, fonctions