f_rename

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

FRESULT f_rename (
  const char* OldName, // 古いファイルまたはディレクトリの文字列へのポインタ
  const char* NewName  // 新しいファイルまたはディレクトリの文字列へのポインタ
);

パラメータ

OldName
変更対象のファイルまたはディレクトリのフルパス名の入った'\0'で終わる文字列へのポインタを指定します。
NewName
新しいファイルまたはディレクトリのフルパス名の入った'\0'で終わる文字列へのポインタを指定します。既に存在するものと同じ名前は使えません。

戻り値

FR_OK (0)
正常終了。
FR_NO_FILE
ファイルが見つからない。
FR_NO_PATH
パスが見つからない。
FR_INVALID_NAME
パス名が不正。
FR_DENIED
新しい名前が作れない。
FR_NOT_READY
メディアがセットされていないなど、ディスクドライブが動作不能状態。
FR_WRITE_PROTECTED
メディアが書き込み禁止状態。
FR_RW_ERROR
ディスクアクセスでエラーが発生した。
FR_INCORRECT_DISK_CHANGE
不正なメディアの取り外しがあった。ファイルを開いたままのメディア交換など。
FR_NOT_ENABLED
FatFsモジュールが停止状態。
FR_NO_FILESYSTEM
ディスク上に有効なFATパーテーションが見つからない。

解説

ファイルまたはディレクトリの名前を変更します。別のディレクトリへの移動も可能です。リードオンリー構成および_FS_MINIMIZE >= 1ではこの関数はサポートされません。

※現リビジョンでは、ディレクトリを別のディレクトリに移動するとファイルシステムが壊れます。

使用例

    // 名前を変更する
    f_rename("oldname.txt", "newname.txt");

    // 名前の変更と同時に別のディレクトリへ移動する
    f_rename("oldname.txt", "dir1/newname.txt");

戻る