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