共用方式為


rename] _wrename

重新命名檔案或目錄。

int rename(
   const char *oldname,
   const char *newname 
);
int _wrename(
   const wchar_t *oldname,
   const wchar_t *newname 
);

參數

  • oldname
    舊名稱的指標。

  • 新名稱
    以新名稱的指標。

傳回值

如果成功,每個函式會傳回 0。 在發生錯誤,則函數會傳回非零值,並設定errno為下列值之一:

  • EACCES
    指定的檔案或目錄 newname 已經存在,或者無法建立 (無效的路徑) ; 或 oldname 是一個目錄,並 newname 指定不同的路徑。

  • ENOENT
    檔案或路徑所指定的 oldname 找不到。

  • EINVAL
    名稱包含無效的字元。

其他可能的傳回值,請參閱 _doserrno、 _errno、 syserrlist,以及 _sys_nerr

備註

重新命名 函式會重新命名的檔案或目錄所指定的 oldname 所提供的名稱 newname。 舊的名稱必須是現有的檔案或目錄的路徑。 新的名稱不能為現有的檔案或目錄的名稱。 您可以使用重新命名 來提供不同的路徑某一目錄或裝置移動檔案到另一個 newname 引數。 不過,您無法使用重新命名來移動目錄。 目錄可以重新命名,但沒有移動。

_wrename寬字元版本的 _rename。 引數去**_wrename**是寬字元字串。 _wrename_rename 其他方式完全相同。

泛用文字常式對應

TCHAR。H 常式

_UNICODE & 未定義的 _MBCS

定義的 _MBCS

定義 _unicode 之後

_trename

重新命名

重新命名

_wrename

需求

常式

所需的標頭

重新命名

<io.h> 或者 <stdio.h>

_wrename

<stdio.h> 或者 <wchar.h>

其他的相容性資訊,請參閱相容性在簡介中。

文件庫

所有版本的 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 );
}

Output

File 'CRT_RENAMER.OBJ' renamed to 'CRT_RENAMER.JBO'

.NET Framework 對等用法

System::IO::File::Move

請參閱

參考

檔案處理