_chsize_s

變更檔案的大小。這是一個版本的 _chsize 中所述的安全性增強功能與安全性功能,則在 CRT 中

errno_t _chsize_s( 
   int fd,
   __int64 size 
);

參數

  • fd
    指的已開啟檔案的檔案描述項。

  • size
    新的檔案,以位元組為單位的長度。

傳回值

_chsize_s 如果已成功地變更檔案的大小,則傳回值為 0。非零的傳回值表示發生錯誤: 傳回的值是EACCES 如果指定的檔案已鎖定,無法存取, EBADF 如果指定的檔案是唯讀的或是描述元不正確, ENOSPC 如果沒有可用空間就會留在裝置上,或EINVAL 如果大小小於零。errno 設定為相同的值。

如需有關這些及其他的傳回碼的詳細資訊,請參閱 _doserrno、 errno、 _sys_errlist,以及 _sys_nerr

備註

_chsize_s 函數會延伸到或相關聯的檔案會將其截斷fd到所指定的長度size。檔案必須在允許寫入模式開啟。如果該檔案將會擴充,則附加 null 字元 ('\ 0')。如果檔案被截斷中縮短檔案的結尾, 為原始的檔案長度的所有資料都都會遺失。

_chsize_s 接受檔案的大小,以 64 位元整數,並可處理檔案大小超過 4GB。_chsize 會限制為 32 位元檔案大小。

這個函式會驗證它的參數。如果fd不是有效的檔案描述項] 或 [大小是小於零,叫用無效的參數處理常式時,所述參數驗證

需求

常式

所需的標頭

選擇性標頭

_chsize_s

<io.h>

<errno.h>

如需相容性資訊,請參閱相容性在簡介中。

.NET Framework 對等用法

請參閱

參考

檔案處理

_chsize

_close

_creat _wcreat

_open _wopen