freopen_s

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu stdio.h - Index


Header-Datei

stdio.h

Kategorie

Funktionen für den Dateizugriff

Prototyp

errno_t freopen_s(FILE * restrict * restrict newstreamptr, const char * restrict filename, const char * restrict mode, FILE * restrict stream);

Beschreibung

Ersetzt freopen und fügt Sicherheitserweiterungen hinzu.

freopen_s ersetzt den geöffneten Stream durch die angegebene Datei. Der Stream wird unabhängig davon, ob die Datei geöffnet werden konnte, geschlossen. Mit freopen_s kann die mit stdin, stdout oder stderr verbundene Datei geändert werden. Dazu wird zunächst versucht, die mit dem Parameter stream verbundene Datei zu schließen, dann wird die in filename angegebene Datei geöffnet und der im Parameter stream angegebene Stream mit dieser Datei verbunden.

Wenn die Datei erfolgreich geöffnet wurde, wird der auf die Datei zeigende Wert auf den Parameter newstreamptr gesetzt. Ansonsten ist newstreamptr Null.

Der mode-String kann dieselben Werte mit den dieselben Bedeutungen wie für freopen haben.

Bei einer Zugriffsverletzung schließt oder öffnet freopen_s keine Dateien.

Rückgabewert

Bei Erfolg gibt freopen_s Null zurück, ansonsten wird ein Nicht-Null-Wert zurückgegeben.

Beispiel

#include <stdio.h> int main(void) { /* Redirect stdout */ FILE *file; file = new FILE; if (freopen_s(&file,"OUTPUT.FIL", "w", stdout)){ fprintf(stderr, "error redirecting stdout\n"); exit(1); } /* This output will go to a file */ printf("This will go into a file."); /* Close the standard output stream */ fclose(stdout); return 0; }

Portabilität

POSIX Win32 ANSI C ANSI C++

freopen_s

+

+

+

+

Siehe auch