rename,_wrename
stdio.h:インデックス への移動
ヘッダーファイル
stdio.h
カテゴリ
入出力ルーチン
プロトタイプ
int rename(const char *oldname, const char *newname);
int _wrename(const wchar_t *oldname, const wchar_t *newname);
説明
ファイル名を変更します。
rename は,ファイルの名前を oldname から newname に変更します。newname でドライブ指定子が指定されている場合,それは,oldname で指定されている指定子と同じである必要があります。
oldname と newname のディレクトリが同じである必要はありません。したがって,rename は,ファイルを別のディレクトリに移動するために使用できます。ワイルドカードは使用できません。
どちらかのファイルがなんらかのプロセスで開かれている場合,この関数は失敗します(EEXIST)。
戻り値
成功した場合,rename は 0 を返します。
エラー(ファイルの名前を変更できない)の場合は -1 を返し,グローバル変数 errno に次のいずれかの値を設定します。
EEXIST |
アクセスが許可されない。ファイルがすでに存在している |
ENOENT |
指定されたファイルまたはディレクトリがない |
ENOTSAM |
装置が異なる |
例
#include <stdio.h>
int main(void)
{
char oldname[80], newname[80];
/* 名前を変更するファイルと新しい名前の入力を求めます */
printf("File to rename: ");
gets(oldname);
printf("New name: ");
gets(newname);
/* ファイル名を変更します */
if (rename(oldname, newname) == 0)
printf("Renamed %s to %s.\n", oldname, newname);
else
perror("rename");
return 0;
}
移植性
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
rename |
+ |
+ |
+ |
+ |
_wrename |
NT のみ |