f_write

ファイルにデータを書き込みます。

FRESULT f_write (
  FIL* FileObject,     /* ファイル・オブジェクト */
  const void* Buffer,  /* 書き込みデータ */
  UINT ByteToWrite,    /* 書き込むバイト数 */
  UINT* ByteWritten    /* 書き込まれたバイト数 */
);

引数

FileObject
ファイル・オブジェクト構造体へのポインタを指定します。
Buffer
書き込むデータを格納したバッファを指すポインタを指定します。
ByteToWrite
書き込むバイト数(0〜UINTの最大値)を指定します。
ByteWritten
書き込まれたバイト数を格納する変数を指すポインタを指定します。戻り値は関数の成否にかかわらず常に有効です。

戻り値

FR_OK (0)
正常終了。
FR_DENIED
非書き込みモードで開かれたファイルに書き込もうとした。
FR_DISK_ERR
ディスク・エラーによる失敗。
FR_INT_ERR
不正なFAT構造または内部エラーによる失敗。
FR_NOT_READY
メディアがセットされていないなど、物理ドライブが動作不能状態。
FR_INVALID_OBJECT
無効なファイルオブジェクト。

解説

書き込み開始位置は、ファイルR/Wポインタの位置からになります。ファイルR/Wポインタは実際に書き込まれたバイト数だけ進みます。関数が正常終了した後、要求したバイト数が書き込まれたかどうか*ByteWrittenをチェックすべきです。*ByteWritten < ByteToWriteのときは、ディスク・フルを意味します。

対応情報

_FS_READONLY == 0のときに使用可能です。

参照

f_open, f_read, fputc, fputs, fprintf, f_close, FIL

戻る