f_write

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

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

引数

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

戻り値

FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_DENIED, FR_INVALID_OBJECT, FR_TIMEOUT

解説

書き込み開始位置は、リード/ライト・ポインタの位置からになります。リード/ライト・ポインタは実際に書き込まれたバイト数だけ進みます。関数が正常終了した後、要求したバイト数が書き込まれたかどうか*ByteWrittenをチェックすべきです。*ByteWritten < ByteToWriteのときは、ディスク・フルを意味します。ディスク・フルが発生しているときまたはそれに近いときは、制御が帰るまで時間がかかる場合があります。

対応情報

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

参照

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

戻る