Share via


_chsize_s

更新 : 2007 年 11 月

ファイルのサイズを変更します。この関数は、「CRT のセキュリティ強化」に説明されているように、_chsize のセキュリティが強化されたバージョンです。

errno_t _chsize_s( 
   int fd,
   __int64 size 
);

パラメータ

  • fd
    開いているファイルを参照するファイル記述子。

  • size
    ファイルの新しい長さ (バイト単位)。

戻り値

ファイル サイズが正常に変更された場合、_chsize_s は 0 という値を返します。0 以外の値はエラーを意味します。このときの戻り値は、指定されたファイルがアクセスに対してロックされている場合は EACCES 、指定されたファイルが読み取り専用か、記述子が無効な場合は EBADF 、デバイスに領域がない場合は ENOSPC 、size が 0 未満の場合は EINVAL になります。errno は同じ値に設定されます。

リターン コードの詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。

解説

_chsize_s 関数は、fd に関連付けられたファイルの拡張または切り捨てを実行し、size で指定された長さにファイル サイズを変更します。ファイルは書き込み許可モードで開く必要があります。ファイルが拡張された場合は、Null 文字 ('\0') が追加されます。ファイルが切り捨てられた場合は、切り捨て後のファイルの終端から元のファイル長までに含まれていたデータがすべて失われます。

_chsize_s 関数は、ファイル サイズとして 64 ビット整数を使用するため、、4GB を超えるファイル サイズを処理できます。_chsize 関数は、32 ビットのファイル サイズに制限されます。

この関数は、パラメータを検証します。fd が無効なファイル記述子の場合または 0 未満の場合は、「パラメータの検証」に説明されているように、無効なパラメータ ハンドラが呼び出されます。

必要条件

ルーチン

必須ヘッダー

オプション ヘッダー

_chsize_s

<io.h>

<errno.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

.NET Framework の相当するアイテム

参照

参照

ファイル処理

_chsize

_close

_creat、_wcreat

_open、_wopen