chsize
io.h:インデックス への移動
ヘッダーファイル
io.h
カテゴリ
入出力ルーチン
プロトタイプ
int chsize(int handle, long size);
説明
ファイルのサイズを変更します。
chsize は,handle に関連付けられたファイルのサイズを変更します。そのために,size の値とファイルの元のサイズを比較して,ファイルを切り捨てるか,拡張します。
ファイルは,書き込み可能なモードで開く必要があります。
ファイルを拡張する場合,chsize はヌル文字(\0)を付加します。ファイルを切り捨てる場合は,新しいファイルの終わり(EOF)より後のデータがすべて失われます。
戻り値
成功した場合,chsize は 0 を返します。失敗した場合は -1 を返し,グローバル変数 errno に次のいずれかの値が設定されます。
EACCES |
アクセスが許可されない |
EBADF |
不正なファイル番号 |
ENOSPC |
装置に領域が足りない |
例
#include <string.h>
#include <fcntl.h>
#include <io.h>
int main(void)
{
int handle;
char buf[11] = "0123456789";
/* 10 バイトを含むテキストファイルを作成します */
handle = open("DUMMY.FIL", O_CREAT);
write(handle, buf, strlen(buf));
/* ファイルを 5 バイトのサイズに切り捨てます */
chsize(handle, 5);
/* ファイルを閉じます */
close(handle);
return 0;
}
移植性
POSIX | Win32 | ANSI C | ANSI C++ |
---|---|---|---|
+ |