creatnew

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu io.h - Index


Header-Datei

io.h

Kategorie

Eingabe-/Ausgaberoutinen

Prototyp

int creatnew(const char *path, int mode);

Beschreibung

Erstellt eine neue Datei.

creatnew unterscheidet sich von _rtl_creat nur in einem Punkt: Wenn die Datei vorhanden ist, gibt creatnew einen Fehler zurück und verändert die Datei nicht.

Das Argument mode von creatnew kann den Wert 0 oder eine ODER-Kombination einer beliebigen Anzahl der folgenden (in dos.h definierten) Konstanten enthalten:

FA_HIDDEN

Verborgene Datei

FA_RDONLY

Nur-Lesen-Attribut

FA_SYSTEM

Systemdatei



Rückgabewert

Bei erfolgreicher Ausführung gibt creatnew das neue Datei-Handle (eine nicht negative Ganzzahl) zurück, andernfalls -1.

Bei einem Fehler wird die globale Variable errno auf einen der folgenden Werte gesetzt:

EACCES

Permission denied (Zugriff verweigert)

EEXIST

File already exists (Datei bereits vorhanden)

EMFILE

Too many open files (Zu viele Dateien geöffnet)

ENOENT

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



Beispiel



 #include <string.h>
 #include <stdio.h>
 #include <errno.h>
 #include <io.h>
 int main(void)
 {
    int handle;
    char buf[11] = "0123456789";
    /* Es wurde versucht, eine Datei anzulegen, die bereits vorhanden ist. */
    handle = creatnew("DUMMY.FIL", 0);
 if (handle == -1)
       printf("DUMMY.FIL already exists.\n");
    else
    {
       printf("DUMMY.FIL successfully created.\n");
       write(handle, buf, strlen(buf));
       close(handle);
    }
    return 0;
 }



Portabilität



POSIX Win32 ANSI C ANSI C++

+