_chsize_s
ファイルのサイズを変更します。 この関数は、「CRT のセキュリティ機能」に説明されているように、_chsize のセキュリティが強化されたバージョンです。
errno_t _chsize_s(
int fd,
__int64 size
);
パラメーター
fd
開いているファイルを参照するファイル記述子。size
ファイルの新しい長さ (バイト単位)。
戻り値
ファイル サイズが正常に変更された場合、_chsize_s は 0 という値を返します。 0 以外の戻り値はエラーを示します。戻り値EACCES アクセスに対しては、指定したファイルがロックされている場合EBADF 指定されたファイル読み取り専用か、記述子が無効である場合ENOSPC デバイスは、スペースを残していない場合またはEINVAL サイズが 0 より小さい場合。 errno は同じ値に設定されます。
リターン コードの詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。
解説
_chsize_s 関数は、fd に関連付けられたファイルの拡張または切り捨てを実行し、size で指定された長さにファイル サイズを変更します。 ファイルは書き込み許可モードで開く必要があります。 ファイルが拡張された場合は、Null 文字 ('\0') が追加されます。 ファイルが切り捨てられた場合は、切り捨て後のファイルの終端から元のファイル長までに含まれていたデータがすべて失われます。
_chsize_s 関数は、ファイル サイズとして 64 ビット整数を使用するため、4 GB を超えるファイル サイズを処理できます。 _chsize 関数は、32 ビットのファイル サイズに制限されます。
この関数は、パラメーターを検証します。 fd が無効なファイル記述子の場合または 0 未満の場合は、「パラメーターの検証」に説明されているように、無効なパラメーター ハンドラーが呼び出されます。
必要条件
ルーチン |
必須ヘッダー |
オプション ヘッダー |
---|---|---|
_chsize_s |
<io.h> |
<errno.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。