rename、_wrename
ファイルまたはディレクトリの名前を変更します。
int rename(
const char *oldname,
const char *newname
);
int _wrename(
const wchar_t *oldname,
const wchar_t *newname
);
パラメーター
oldname
古い名前へのポインター。新しい名前
新しい名前へのポインター。
戻り値
これらの関数は正常に終了した場合は 0 を返します。エラー関数の戻り値以外の値を次の値の 1 に設定 errno :
EACCES
newname で指定されたファイルまたはディレクトリが既に存在するかまたは作成できなかった (無効なパス); または oldname は ディレクトリでnewname は 異なるパスを指定します。ENOENT
検索 oldname してファイルまたは指定したパス。EINVAL
名前が無効な文字が含まれています。
そのほかの有効な戻り値のは_doserrno_errnosyserrlist と _sys_nerr を参照してください。
解説
名前の変更 の関数は newname で指定された名前に oldname で指定されたファイルまたはディレクトリの名前を変更します。古い名前は既存のファイルまたはディレクトリのパスである必要があります。新しい名前が既存のファイルまたはディレクトリ名にする必要があります。1 個のファイルまたはディレクトリから別の型に newname の 引数の別のパスを指定してデバイスを移動するに 名前の変更 を使用できます。ただしディレクトリを移動するに 名前の変更 は使用できません。ディレクトリの名前を変更したりコントロールを移動できません。
_wrename は のワイド文字バージョンです _rename; _wrename への引数はワイド文字列です。_wrename と _renameこれらの関数の動作は同じです。
汎用テキスト ルーチンのマップ
TCHAR.H のルーチン |
_UNICODE および _MBCS が未定義の場合 |
_MBCS が定義されている場合 |
_UNICODE が定義されている場合 |
---|---|---|---|
_trename |
名前の変更 |
名前の変更 |
_wrename |
必要条件
ルーチン |
必須ヘッダー |
---|---|
名前の変更 |
<io.h> または <stdio.h> |
_wrename |
<stdio.h> または <wchar.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
ライブラリ
C ランタイム ライブラリのすべてのバージョン。
使用例
// crt_renamer.c
/* This program attempts to rename a file named
* CRT_RENAMER.OBJ to CRT_RENAMER.JBO. For this operation
* to succeed, a file named CRT_RENAMER.OBJ must exist and
* a file named CRT_RENAMER.JBO must not exist.
*/
#include <stdio.h>
int main( void )
{
int result;
char old[] = "CRT_RENAMER.OBJ", new[] = "CRT_RENAMER.JBO";
/* Attempt to rename file: */
result = rename( old, new );
if( result != 0 )
printf( "Could not rename '%s'\n", old );
else
printf( "File '%s' renamed to '%s'\n", old, new );
}
出力
File 'CRT_RENAMER.OBJ' renamed to 'CRT_RENAMER.JBO'