Es gibt eine Anzahl (etwa 20) von Header-Dateien im C-Standard und unistd ist keiner von ihnen (es ist ein POSIX/UNIX95/UNIX98-Header). Es ist also nicht erforderlich, dass ein Anbieter es bereitstellt. Weder C89 noch C99 haben als die Mandated-Header-Dateien unistd.
Der einfachste Weg, eine Datei abzuschneiden, besteht darin, sie im Schreibmodus erneut zu öffnen (vorausgesetzt, Sie haben den Dateinamen).
fclose (fh);
fh = fopen ("file_name", "w");
Wenn alles, was Sie die Datei-Handle haben, müssen Sie freopen()
verwenden. Sie erhalten nur EINVAL
, wenn der Modus falsch ist. Sie können nicht den Modus ändern in der folgenden Tabelle mit Ausnahme accoording:
r -> r
w a -> a w
r+ w+ a+ -> any mode
man freopen Siehe für weitere Details.