ファイル サイズを変更します。Changes the size of a file. これは、「CRT のセキュリティ機能」の説明にあるとおり、セキュリティが強化されたバージョンの _chsize です。This is a version of _chsize with security enhancements as described in Security Features in the CRT.


errno_t _chsize_s(
   int fd,
   __int64 size


開いているファイルを参照するファイル記述子。File descriptor referring to an open file.

バイト単位のファイルの新しい長さ。New length of the file in bytes.

戻り値Return Value

ファイルサイズが正常に変更された場合、 _chsize_s は値0を返します。_chsize_s returns the value 0 if the file size is successfully changed. 0以外の戻り値は、エラーを示します。指定されたファイルがアクセスに対してロックされている場合、 EACCES は、指定されたファイルが読み取り専用である場合、または、記述子が無効な場合は ENOSPC 、デバイス に領域がない場合は 、サイズが0未満の場合は EINVAL を返します。A nonzero return value indicates an error: the return value is EACCES if the specified file is locked against access, EBADF if the specified file is read-only or the descriptor is invalid, ENOSPC if no space is left on the device, or EINVAL if size is less than zero. errno が同じ値に設定されています。errno is set to the same value.

リターン コードの詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。For more information about these and other return codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.


_Chsize_s 関数は、 fd に関連付けられているファイルを size によって指定された長さに拡張または切り捨てます。The _chsize_s function extends or truncates the file associated with fd to the length specified by size. ファイルは、書き込みを許可するモードで開かれている必要があります。The file must be open in a mode that permits writing. ファイルが拡張される場合は、null 文字 ('\0') が追加されます。Null characters ('\0') are appended if the file is extended. ファイルが切り捨てられる場合、短くなったファイルの末尾からファイルの元の長さまでのすべてのデータは失われます。If the file is truncated, all data from the end of the shortened file to the original length of the file is lost.

_chsize_s は、ファイルサイズとして64ビット整数を受け取るため、4 GB を超えるファイルサイズを処理できます。_chsize_s takes a 64-bit integer as the file size, and therefore can handle file sizes greater than 4 GB. _chsize は、32ビットのファイルサイズに制限されています。_chsize is limited to 32-bit file sizes.

この関数は、パラメーターを検証します。This function validates its parameters. Fd が有効なファイル記述子でないか、またはサイズが0未満の場合は、「パラメーターの検証」で説明されているように、無効なパラメーターハンドラーが呼び出されます。If fd is not a valid file descriptor or size is less than zero, the invalid parameter handler is invoked, as described in Parameter Validation.

既定では、この関数のグローバル状態はアプリケーションにスコープが設定されています。By default, this function's global state is scoped to the application. これを変更するには、「 CRT でのグローバル状態」を参照してください。To change this, see Global state in the CRT.


ルーチンによって返される値Routine 必須ヘッダーRequired header オプション ヘッダーOptional header
_chsize_s_chsize_s <io.h> <errno.h>

互換性について詳しくは、「 Compatibility」をご覧ください。For more compatibility information, see Compatibility.

関連項目See also

ファイルの処理File Handling
_creat、_wcreat_creat, _wcreat
_open、_wopen_open, _wopen