creatnew
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++ |
---|---|---|---|
+ |