模組 Unix.LargeFile

module LargeFile: sig .. end

針對大型檔案的檔案操作。此子模組提供了 64 位元版本的函式 Unix.LargeFile.lseek(用於定位檔案描述符)、Unix.LargeFile.truncateUnix.LargeFile.ftruncate(用於變更檔案大小),以及 Unix.LargeFile.statUnix.LargeFile.lstatUnix.LargeFile.fstat(用於取得檔案資訊)。這些替代函式使用 64 位元整數(int64 型別)而非一般整數(int 型別)來表示位置和大小,因此允許操作大小大於 max_int 的檔案。


val lseek : Unix.file_descr -> int64 -> Unix.seek_command -> int64

請參閱 lseek

val truncate : string -> int64 -> unit

請參閱 truncate

val ftruncate : Unix.file_descr -> int64 -> unit

請參閱 ftruncate

type stats = {
   st_dev : int; (*

裝置號碼

*)
   st_ino : int; (*

索引節點號碼

*)
   st_kind : Unix.file_kind; (*

檔案種類

*)
   st_perm : Unix.file_perm; (*

存取權限

*)
   st_nlink : int; (*

連結數

*)
   st_uid : int; (*

擁有者的使用者 ID

*)
   st_gid : int; (*

檔案群組的群組 ID

*)
   st_rdev : int; (*

裝置 ID(若為特殊檔案)

*)
   st_size : int64; (*

大小(以位元組為單位)

*)
   st_atime : float; (*

上次存取時間

*)
   st_mtime : float; (*

上次修改時間

*)
   st_ctime : float; (*

上次狀態變更時間

*)
}
val stat : string -> stats
val lstat : string -> stats
val fstat : Unix.file_descr -> stats