## f_rename

ファイルまたはディレクトリの名前の変更または移動。

    FRESULT f_rename (
      const XCHAR* OldName, /* 古いファイルまたはディレクトリ名 */
      const XCHAR* NewName  /* 新しいファイルまたはディレクトリ名 */
    );

#### 引数

OldName
  変更対象のオブジェクト(ファイルまたはディレクトリ)へのパス名の入った`'\0'`で終わる文字列へのポインタを指定します。
NewName
  新しいファイルまたはディレクトリのフルパス名の入った`'\0'`で終わる文字列へのポインタを指定します。既に存在する名前は使えません。また、ドライブ番号は指定できず、`OldName`で指定されたボリューム上のオブジェクトとして扱われます。

#### 戻り値

FR_OK (0)
  正常終了。
FR_NO_FILE
  OldNameのオブジェクトが見つからない。
FR_NO_PATH
  パスが見つからない。
FR_INVALID_NAME
  パス名が不正。
FR_INVALID_DRIVE
  ドライブ番号が不正。
FR_DENIED
  ドライブ容量の不足等の理由で新しい名前のオブジェクトが作れない。
FR_EXIST
  NewNameと同じ名前が既に存在する。
FR_NOT_READY
  メディアがセットされていないなど、物理ドライブが動作不能状態。
FR_WRITE_PROTECTED
  メディアが書き込み禁止状態。
FR_DISK_ERR
  ディスク・エラーによる失敗。
FR_INT_ERR
  不正なFAT構造または内部エラーによる失敗。
FR_NOT_ENABLED
  論理ドライブにワークエリアが割り当てられていない。
FR_NO_FILESYSTEM
  ディスク上に有効なFATボリュームが見つからない。

#### 解説

オブジェクトの名前を変更します。また、別のディレクトリへの移動(同じドライブ内のみ)も可能です。開かれているオブジェクトに対して使用してはなりません。

#### 対応情報

`_FS_READONLY == 0`で、且つ`_FS_MINIMIZE == 0`のときに使用可能です。

#### 使用例

        /* ファイルまたはサブディレクトリの名前を変更する */
        f_rename("oldname.txt", "newname.txt");

        /* ファイルまたはサブディレクトリの名前の変更と別のディレクトリへの移動 */
        f_rename("oldname.txt", "dir1/newname.txt");

戻る