access, _waccess

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Io.h - Index


Header-Datei

io.h

Kategorie

Eingabe-/Ausgaberoutinen

Prototyp

int access(const char *filename, int amode);
int _waccess(const wchar_t *filename, int amode);

Beschreibung

Prüft, ob und in welchem Modus auf eine Datei zugegriffen werden kann.

access überprüft, ob die durch filename angegebene Datei vorhanden ist und, wenn vorhanden, ob die Datei gelesen, geschrieben oder ausgeführt werden kann.

Der Parameter amode kann folgende Werte annehmen:

06

Prüft, ob eine Lese- und Schreibberechtigung vorliegt.

04

Prüft, ob eine Leseberechtigung vorliegt.

02

Prüft, ob eine Schreibberechtigung vorliegt.

01

Ausführen (wird ignoriert)

00

Prüft, ob die Datei vorhanden ist.


Alle vorhandenen Dateien können zum Lesen geöffnet werden (amode gleich 04), so dass 00 und 04 das gleiche Ergebnis haben. Ebenso sind die amode-Werte 06 und 02 gleichbedeutend, weil unter Win32 der Schreibzugriff den Lesezugriff impliziert.

Wenn filename auf ein Verzeichnis verweist, ermittelt access einfach, ob das Verzeichnis vorhanden ist.

Rückgabewert

Wenn der geforderte Zugriff zulässig ist, gibt access 0 zurück. Andernfalls wird der Wert -1 zurückgegeben und der globalen Variablen errno einer der folgenden Werte zugewiesen:

ENOENT

Path or file name not found (Pfad oder Dateiname nicht gefunden)

EACCES

Permission denied (Zugriff verweigert)


Beispiel

#include <stdio.h>
#include <io.h>
int file_exists(char *filename);
int main(void)
{
    printf("Does NOTEXIST.FIL exist: %s\n",
    file_exists("NOTEXISTS.FIL") ? "YES" : "NO");
    return 0;
}

int file_exists(char *filename)
{
    return (access(filename, 0) == 0);
}

Portabilität

POSIX Win32 ANSI C ANSI C++

access

+

+

_waccess

Nur NT