C語言 重新命名檔案(rename()函式)

2021-09-06 15:53:27 字數 2357 閱讀 2545

程式:

#include #include #include typedef unsigned char byte;

typedef unsigned int dword;

typedef unsigned short word;

#define pri(fmt, ...) printf("["__file__"] <%s>_<%d> " ,__function__,__line__ );\

printf(fmt, ##__va_args__);

int main()

; memset(newname, 0 ,sizeof(newname));

/* 檔案描述符 */

struct dirent *dirp;

dir *dp;

/* 區域性變數儲存檔名稱 */

byte buf[128][64];

/* 區域性變數儲存檔名個數 */

byte num=0;

char *path = "/mnt/hgfs/ubuntu12.04-share/test/2_file/test_dir";

/* 開啟路徑 */

if ((dp = opendir(path))== null)

/* 更換到當前目錄 */

chdir(path);

/* 讀取路徑下的檔案 */

while(dirp = readdir(dp))

int i=0;

while(i != num)

else

perror("rename");

pri(" newname : %s \n", newname);

i++;

} return 0;

}

執行結果:

root@ubuntu:/mnt/hgfs/ubuntu12.04-share/test/2_file# 

root@ubuntu:/mnt/hgfs/ubuntu12.04-share/test/2_file# gcc -o test test.c

root@ubuntu:/mnt/hgfs/ubuntu12.04-share/test/2_file#

root@ubuntu:/mnt/hgfs/ubuntu12.04-share/test/2_file#

root@ubuntu:/mnt/hgfs/ubuntu12.04-share/test/2_file# ls ./test_dir/

old_1.h264 old_2.h264 old_3.h264 old_4.h264 old_5.h264

root@ubuntu:/mnt/hgfs/ubuntu12.04-share/test/2_file# ./test

[test.c] _<48> dirp->d_name : old_1.h264

[test.c] _<48> dirp->d_name : old_2.h264

[test.c] _<48> dirp->d_name : old_3.h264

[test.c] _<48> dirp->d_name : old_4.h264

[test.c] _<48> dirp->d_name : old_5.h264

[test.c] _<64> renamed old_1.h264 to new_1.h264 !

[test.c] _<69> newname : new_1.h264

[test.c] _<64> renamed old_2.h264 to new_2.h264 !

[test.c] _<69> newname : new_2.h264

[test.c] _<64> renamed old_3.h264 to new_3.h264 !

[test.c] _<69> newname : new_3.h264

[test.c] _<64> renamed old_4.h264 to new_4.h264 !

[test.c] _<69> newname : new_4.h264

[test.c] _<64> renamed old_5.h264 to new_5.h264 !

[test.c] _<69> newname : new_5.h264

root@ubuntu:/mnt/hgfs/ubuntu12.04-share/test/2_file# ls ./test_dir/

new_1.h264 new_2.h264 new_3.h264 new_4.h264 new_5.h264

root@ubuntu:/mnt/hgfs/ubuntu12.04-share/test/2_file#

C 檔案重新命名

來自 c 裡面,重新命名檔案時,沒有 rename 這個功能,使用的是fileinfo.moveto的方式,moveto 到原目錄裡乙個新的名字,即實現了重新命名 此方法用於重新命名資料夾內的所有子資料夾的名稱,新子資料夾的名稱可以使用格式字串,如dir,重新命名後的子資料夾為 dir0001 di...

C 重新命名檔案

批量重新命名資料夾下的檔案 借用visualbasic中的方法 首先新增引用 microsoft.visualbasic 然後在所需使用的文件中加上using microsoft.visualbasic.devices 命名空間 主要 computer mycom new computer myco...

使用c 重新命名檔案

在編譯完fpga的版本後,需要把bit檔案和cdc發給其他人進行測試,由於兩個檔案和fpga工程同名,每次都要重新命名,加上今天的日期,便於版本控制。以上就是需求。於是想到要不要寫個指令碼,一鍵執行改名,最先想到的是用bat指令碼,感覺沒學過太麻煩,於是想到用c 剛好最近在看string類相關的,於...