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