共用方式為


rename、_wrename

重新命名目錄或目錄

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

參數

  • oldname
    指到舊名稱的指標。

  • NewName
    對新名稱的指標。

傳回值

如果成功,這些函式都會傳回 0。 在錯誤,函式會傳回非零的值並將 errno 設定為下列其中一個值:

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

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

  • EINVAL
    名稱包含無效字元。

如需其他可能的傳回值,請參閱 _doserrno、_errno、syserrlist 和 _sys_nerr

備註

rename 函式給 oldname 或目錄重新命名指定的檔案至 newname指定名稱。 舊名稱必須是現有檔案或目錄的路徑。 新名稱不可以是現有的檔案或目錄的名稱。 您可以使用 rename 從目錄移動檔案或裝置到另一個傳遞給 newname 引數不同的路徑。 不過,您無法使用 rename來移動目錄。 目錄可以重新命名,但是並沒有移動。

_wrename的寬字元版本,_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

請參閱

參考

檔案處理