_chsize_s
變更檔案大小。 此函式是 的版本 _chsize
,具有 CRT 中安全性功能中所述 的安全性增強功能。
語法
errno_t _chsize_s(
int fd,
__int64 size
);
參數
fd
參考已開啟檔案的檔案描述項。
size
檔案的新長度 (位元組)。
傳回值
如果已成功變更檔案大小,則 _chsize_s
會傳回值 0。 非零傳回值表示發生錯誤︰如果鎖定所指定檔案的存取,則傳回值為 EACCES
;如果指定的檔案是唯讀或描述元無效,則為 EBADF
;如果裝置上沒有空間,則為 ENOSPC
;如果大小小於零,則為 EINVAL
。 errno
設為相同值。
如需這些傳回碼和其他傳回碼的詳細資訊,請參閱 errno
、 _sys_errlist
_doserrno
和 _sys_nerr
。
備註
_chsize_s
函式會將與 fd
相關聯的檔案擴充或截斷至 size
所指定的長度。 檔案必須以允許寫入的模式開啟。 如果擴充檔案,則會附加 Null 字元 ('\0')。 如果檔案遭到截斷,則會遺失從縮短檔案結尾到檔案原始長度的所有資料。
_chsize_s
會採用 64 位元整數作為檔案大小,因此可以處理大於 4 GB 的檔案大小。 _chsize
會限制為 32 位元檔案大小。
這個函式會驗證它的參數。 如果 fd
不是有效的檔案描述元或大小小於零,則會叫用不正確參數處理常式,如參數驗證 中所述 。
根據預設,此函式的全域狀態會限定于應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態。
需求
常式 | 必要的標頭 | 選擇性標頭 |
---|---|---|
_chsize_s |
<io.h> | <errno.h> |
如需相容性詳細資訊,請參閱相容性。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應