fopen_s
Nach oben zu stdio.h - Index
Header-Datei
stdio.h
Kategorie
Funktionen für den Dateizugriff
Prototyp
errno_t fopen_s(FILE * restrict * restrict streamptr, const char * restrict filename, const char * restrict mode);
Beschreibung
Öffnet einen Stream.
fopen_s öffnet die in filename angegebene Datei und ordnet sie einem Stream zu. fopen_s gibt einen Zeiger zurück, mit dem in den folgenden Operationen der Stream identifiziert wird.
Der in Aufrufen von fopen_s verwendete String mode kann einen der folgenden Werte annehmen:
Wert | Beschreibung |
---|---|
uw |
Kürzen der Datei auf die Länge Null oder Erstellen einer Textdatei zum Schreiben mit Standardberechtigungen. |
ua |
Hinzufügen; Öffnen oder Erstellen einer Textdatei zum Schreiben am Dateiende mit Standardberechtigungen. |
uwb |
Kürzen der Datei auf die Länge Null oder Erstellen einer Binärdatei zum Schreiben mit Standardberechtigungen. |
uab |
Hinzufügen; Öffnen oder Erstellen einer Binärdatei zum Schreiben am Dateiende mit Standardberechtigungen. |
uw+ |
Kürzen der Datei auf die Länge Null oder Erstellen einer Textdatei zum Aktualisieren mit Standardberechtigungen. |
ua+ |
Hinzufügen; Öffnen oder Erstellen einer Textdatei zum Aktualisieren und zum Schreiben am Dateiende mit Standardberechtigungen. |
uw+b oder uwb+ |
Kürzen der Datei auf die Länge Null oder Erstellen einer Binärdatei zum Aktualisieren mit Standardberechtigungen. |
ua+b oder uab+ |
Hinzufügen; Öffnen oder Erstellen einer Binärdatei zum Aktualisieren und zum Schreiben am Dateiende mit Standardberechtigungen. |
Sofern das Betriebssystem dies unterstützt, werden Dateien für das Schreiben exklusiv geöffnet, um ein gleichzeitiges Schreiben in die Dateien zu verhindern. Wiederum sofern das Betriebssystem dies unterstützt, wird als Eigentümer von Dateien, deren mode-String nicht mit u beginnt, der Benutzer festgelegt, der das Programm ausführt. Diese Dateien sind für andere Benutzer nicht verfügbar. Wenn der mode-String mit u beginnt, haben die Dateien Standard-Dateizugriffsberechtigungen.
Wenn die Datei erfolgreich geöffnet wurde, wird der auf die Datei zeigende Wert auf den Parameter streamptr gesetzt, ansonsten wird streamptr auf Null gesetzt.
Rückgabewert
Bei Erfolg gibt fopen_s Null zurück, ansonsten wird ein Nicht-Null-Wert zurückgegeben.
Beispiel
/* Programm zum Erstellen einer Sicherungsdatei */ #include <stdio.h> int main(void) { FILE *in, *out; in = new FILE; if (fopen_s(&in, "TESTFILE.DAT", "rt")){ fprintf(stderr, "Cannot open input file.\n"); return 1; } if (fopen_s(&out, "TESTFILE.BAK", "wt")){ fprintf(stderr, "Cannot open output file.\n"); return 1; } while (!feof(in)){ fputc(fgetc(in), out); } fclose(in); fclose(out); return 0; }
Portabilität
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
fopen_s |
+ |
+ |
+ |
+ |