creatnew

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu io.h


Header File

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";
   /* attempt to create a file that doesn't already exist */
   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;
}


POSIX Win32 ANSI C ANSI C++

+