2009-05-17 8 views

Antwort

3

_chsize Funktion macht den Job besser, es bekommt fd ans Größe zu

ändern
2

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.

Verwandte Themen