導航:首頁 > 文件教程 > c文件重命名

c文件重命名

發布時間:2024-12-27 06:06:37

『壹』 用C語言編程修改文件名(C++也行)

麻煩在文件名允許有空白和一些與C語言有沖突的特殊符號。
如果沒有上述情況可以這樣寫:
(1)通過位置參數傳入 老擴展名 和 新擴展名
void main(int argc, char *argv[]){}
命令行: my_rename.exe jpeg jpg
程序名在 argv[0]里,"jpeg" 在 argv[1]里,jpg 在 argv[2]里了
l2 = strlen(argv[1]); // 老擴展名長度
(2) 通過
char command[120],namelist[]="all.lis";
sprintf(command,"DIR/B/A-D/OD *.%s > %s", argv[1],namelist);
system(command);
取得所有要換名的文件名字列表,存放在all.lis文件里,一個文件名一行。
(3)打開 all.lis 文件,
FILE *flist;
if ( (flist = fopen(namelist,"r") ) == NULL ) {
printf("\007Cann't open work file: %s ", namelist);exit(1);
};
一行一行讀入:
char current_file_name[64],new_name[64];
while ( fgets( current_file_name, 64, flist) !=NULL ) { 處理};
(4)while 循環 處理:
strcpy(new_name,current_file_name);
l = strlen(new_name); // 文件名全長
strncpy(&new_name[0]+(l-l2),"\0",1); // 文件基本名,含點號,不含擴展名
strcat(new_name,argv[2]); // 新文件名
sprintf(command,"REN %s %s",current_file_name,new_name); // 換名命令
system(command); // 執行換名

完整程序:
#include <stdio.h>
#include <stdlib.h>
FILE *flist;
void main(int argc,char * argv[])
{
int l,l2;
char command[240],namelist[]="all.lis";
char current_file_name[64],new_name[64];

if(argc < 3) {printf("\007Usage: %s old_ext new_ext\n",argv[0]);
printf("For example: %s jpeg jpg\n",argv[0]);
exit(0);
}

l2 = strlen(argv[1]);

sprintf(command,"DIR/B/A-D/OD *.%s > %s", argv[1],namelist);
system(command);
if ( (flist = fopen(namelist,"r") ) == NULL ) {
printf("\007Cann't open work file: %s ", namelist);exit(1);
};

while ( fgets( current_file_name, 64, flist) !=NULL ) {
strcpy(new_name,current_file_name);
l = strlen(new_name);
strncpy(&new_name[0]+(l-l2-1),"\0",1);
strcat(new_name,argv[2]);
strncpy(¤t_file_name[0]+l-1,"\0",1);
sprintf(command,"REN %s %s", current_file_name, new_name);
system(command);
};
fclose(flist);
exit(0);
}

『貳』 在vim的編輯窗口的時候怎麼重命名c文件

不是太古老的vim中都有netrw文件管理器插件。

在當前工作區中的命令行模式中輸入:edit .

上面有個R:rename就是重命名了,這時用方向鍵或者j k移動游標選擇文件後直接輸入shift+r(大寫的R)在屏幕下方就會出現你選中的文件的完整路徑,修改文件名後直接回車就可以修改文件名了,之後直接回車就可以進入已經修改了文件名的文件了。

推薦一本書:vim實用技巧。這書超有用的

『叄』 如何更改C語言的文件名(如下圖)

點擊菜單欄上的文件按鈕,可以看到另存為,可以把程序文件存成其他的名字。
還有一個方法是,關閉vs,然後找到工程文件夾,找到 練習.c,然後點右鍵,選擇重命名即可。

『肆』 如何用c語言重命名

可以通過C庫函數rename實現。

頭文件:stdio.h

原型::int rename(char *oldname, char *newname);

功能: 給一個文件重命名,從原始的oldname改成新名字newname。如果oldname和newname帶有路徑,且所在文件夾不同,那麼用該函數可以實現文件移動功能。刪除成功返回0,否則返回-1。

使用rename需要注意:

一、重命名文件:

  1. 如果newname指定的文件存在,則會被覆蓋。

  2. 如果newname與oldname不在一個目錄下,則相當於移動文件。


二、重命名目錄:

  1. 如果oldname和oldname都為目錄,則重命名目錄。

  2. 如果newname指定的目錄存在且為空目錄,則先將newname刪除。

  3. 對於newname和oldname兩個目錄,調用進程必須有寫許可權。

  4. 重命名目錄時,newname不能包含oldname作為其路徑前綴。例如,不能將/usr更名為/usr/foo/testdir,因為老名字( /usr/foo)是新名字的路徑前綴,因而不能將其刪除。

『伍』 如何用c語言進行文件的批量重命名

這個簡易的 按照你的方法改名的程序
在UNIX下測試可用
如果想在windows下用的話 可以用dev c++編譯
#include <stdio.h>
#include <unistd.h>
#include <dirent.h>

int main(int argc, char **argv)
{
DIR *dirp;
struct dirent *dirt;
char dir_name[100];
int file_count=1; //file_count為計數.

if (argc != 2){
printf("argument miss\n");
exit(1);
}

if ((dirp = opendir(argv[1])) ==NULL){
printf ("open dir %s failed\n",argv[1]);
exit(1);
}
chdir(argv[1]);

while ( (dirt = readdir(dirp)) != NULL){
if ((strcmp(dirt->d_name,"..") !=0) && (strcmp(dirt->d_name,".")!=0)){
memset(dir_name, 0, sizeof(dir_name));
strcpy(dir_name, dirt->d_name);
sprintf(dir_name + strlen(dirt->d_name), "_%d", file_count++);
if (rename(dirt->d_name, dir_name) < 0){ //dir_name 為新的命名
printf("rename failed\n");
exit(1);
}
}
}

return 0;
}

原理挺簡單 你輸入一個文件夾作為參數 然後程序就打開這個文件夾遍歷這個文件夾里的文件,把這個文件的名字取出來後面加上 "_計數" 用rename 重新命名就行了.

閱讀全文

與c文件重命名相關的資料

熱點內容
qq同步助手照片怎麼看 瀏覽:114
pdf頁眉文件 瀏覽:38
creo導出cad映射文件 瀏覽:307
xray一app如何使用 瀏覽:106
飛瓜數據app哪個好 瀏覽:847
手機上中文編程軟體哪個好 瀏覽:40
重裝系統桌面文件備份 瀏覽:160
網路伺服器行業 瀏覽:834
linux發郵件埠 瀏覽:30
微信forios613 瀏覽:190
jsp文件安裝怎麼安裝包 瀏覽:558
京東數據魔方有哪些功能 瀏覽:461
win10把文件夾鎖起來 瀏覽:707
如何叫領導找同事要文件 瀏覽:481
蘋果電腦如何打開dwg文件 瀏覽:391
139文件內容 瀏覽:2
博途軟體里哪個是編程的 瀏覽:488
公考app怎麼參加模考大賽 瀏覽:433
java刪除指定cookie 瀏覽:584
c重命名文件夾 瀏覽:164

友情鏈接