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