fwrite
ストリームにデータを書き込みます。
構文
size_t fwrite(
const void *buffer,
size_t size,
size_t count,
FILE *stream
);
パラメーター
buffer
書き込むデータへのポインター。
size
項目サイズ (バイト単位)。
count
書き込む項目の最大数。
stream
FILE
構造体へのポインター。
戻り値
fwrite
は、関数が書き込む完全な項目の数を返します。これは、エラーが発生した場合よりも count
小さい場合があります。 また、エラーが発生した場合、ファイル位置インジケーターを特定できません。 null ポインターまたは stream
buffer
null ポインターの場合、または書き込む奇数バイトが Unicode モードで指定されている場合、「パラメーターの検証」で説明されているように、関数は無効なパラメーター ハンドラーを呼び出します。 実行の継続が許可された場合、この関数は errno
を EINVAL
に設定し、0 を返します。
解説
fwrite
関数は、それぞれが count
の長さの、最大で size
個の項目を、buffer
から出力 stream
に書き込みます。 (存在する場合) に関連付 stream
けられているファイル ポインターは、書き込みバイト fwrite
数だけインクリメントされます。 stream
がテキスト モードで開かれた場合、それぞれの改行は復帰と改行の組み合わせで置き換えられます。 この置き換えは、戻り値には影響しません。
stream
が Unicode 変換モードで開かれた場合 (たとえば、stream
を呼び出して fopen
、ccs=UNICODE
、または ccs=UTF-16LE
を含むモード パラメーターを使用することで ccs=UTF-8
が開かれた場合や、_setmode
と _O_WTEXT
、_O_U16TEXT
、または _O_U8TEXT
を含むモード パラメーターを使用してモードが Unicode 変換モードに変更された場合など)、buffer
は UTF-16 データを含む wchar_t
の配列へのポインターとして解釈されます。 このモードで奇数バイトの書き込みを試みると、パラメーター検証エラーが発生します。
この関数は呼び出し元のスレッドをロックするため、スレッド セーフです。 ロックしないバージョンについては、「_fwrite_nolock
」を参照してください。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT のグローバル状態」を参照してください。
必要条件
機能 | 必須ヘッダー |
---|---|
fwrite |
<stdio.h> |
互換性の詳細については、「 Compatibility」を参照してください。
例
fread
の例を参照してください。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示