TRUNCATE
Section: System Calls (2)
索引
jman
BSD mandoc
索引
名称
truncate
ftruncate
- 指定した長さにファイルを切り捨てたり拡張したりする
索引
ライブラリ
Lb libc
索引
書式
In unistd.h
Ft int
Fn truncate const char *path off_t length
Ft int
Fn ftruncate int fd off_t length
索引
解説
Fn truncate
システムコールは、
Fa path
で指定されるファイルか
Fa fd
で参照されるファイルのサイズが、
Fa length
バイトになるように切り捨てたり拡張します。
ファイルがこのサイズより大きい場合は、余分なデータが失われます。
ファイルがこのサイズより小さい場合は、0 が書き込まれたように拡張されます。
Fn ftruncate
では、ファイルが書込み用に開いている必要があります。
索引
戻り値
Rv -std
索引
エラー
Fn truncate
システムコールは、以下のような場合に処理を失敗します:
- Bq Er ENOTDIR
-
パスの構成要素中にディレクトリ以外のものが含まれています。
- Bq Er ENAMETOOLONG
-
パス名の構成要素が 255 文字を越えているか、
またはパス名全体が 1023 文字を越えています。
- Bq Er ENOENT
-
指定されたファイルが存在しません。
- Bq Er EACCES
-
前置パス名の構成要素について検索許可が拒否されています。
- Bq Er EACCES
-
指定されたファイルにユーザが書き込めません。
- Bq Er ELOOP
-
パス名を変換するときに検出されたシンボリックリンクが多すぎます。
- Bq Er EISDIR
-
指定されたファイルがディレクトリになっています。
- Bq Er EROFS
-
指定されたファイルは読取り専用ファイルシステム上にあります。
- Bq Er ETXTBSY
-
ファイルが、実行中のピュアプロシージャ (共有テキスト) ファイルです。
- Bq Er EIO
-
inode の更新をしている間に入出力エラーが発生しました。
- Bq Er EFAULT
-
Fa path
引数が、プロセスに割り当てられたアドレス空間の範囲外を指しています。
Fn ftruncate
システムコールは、以下のような場合に処理を失敗します:
- Bq Er EBADF
-
Fa fd
引数が有効な記述子ではありません。
- Bq Er EINVAL
-
Fa fd
引数はファイルではなくソケットを参照しています。
- Bq Er EINVAL
-
Fa fd
引数が書込み用に開いていません。
索引
関連項目
open(2)
索引
バグ
この呼出しは、ファイルのある範囲を放棄できるように一般化する
必要があります。
Fn truncate
を使用してファイルを拡張すると、移植性が失われます。
索引
歴史
Fn truncate
システムコールは、
BSD 4.2
で登場しました。
索引
Index
- 名称
-
- ライブラリ
-
- 書式
-
- 解説
-
- 戻り値
-
- エラー
-
- 関連項目
-
- バグ
-
- 歴史
-
Time: 07:06:26 GMT, January 12, 2009