㈠ 如何用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語言的文件名(如下圖)
點擊菜單欄上的文件按鈕,可以看到另存為,可以把程序文件存成其他的名字。
還有一個方法是,關閉vs,然後找到工程文件夾,找到 練習.c,然後點右鍵,選擇重命名即可。
㈢ 在linux中用C語言編程,有可以修改文件名稱的函數嗎例如:將文件名為abc的文件,更名為123。
#include <stdio.h>
int main(void)
{
char oldname[80], newname[80];
/* prompt for file to rename and new name */
printf( "File to rename: ");
gets(oldname);
printf( "New name: ");
gets(newname);
/* Rename the file */
if (rename(oldname, newname) == 0)
printf( "Renamed %s to %s.\n ", oldname, newname);
else
perror( "rename ");
return 0;
}
㈣ 用C語言怎麼改文件名
我告訴你一個很簡單的方法
你加頭文件#include<stdlib.h>
在語句中寫system("ren
qq.txt
ww.txt");
如果文件不在程序目錄下,就在文件名那裡加路徑就可以了,但路徑中的單斜杠(\)要寫成雙斜杠(\\);
如system("ren
c:\\qq.txt
ww.txt")
如果你要用字元串來命名文件名。就用這個函數strcat()函數來把字元串接起來就可以了,在、前面加頭文件#include<string.h>.
如上面的列子可以這么寫:
char
a[10]="ww.txt";//這是你要改成的文件名。
char
b[20]="ren
c:\\qq.txt
";
strcat(b,a);//這里把a、b字元串接起來,經過這里b就等於"ren
c:\\qq.txt
ww.txt";了
。
//下面直接又調用
system(b);//因為字元串b
經過和a連接後就是整個你需要填進的參數了。
㈤ 如何在C語言編程裡面修改源文件名字
C修改文件名:使用rename函數。
rename函數:功能描述:改變文件的名稱或者位置,如果目標已存在,將被自動覆蓋。用法:#include<stdio.h>intrename(constchar*oldpath,constchar*newpath);參數:
oldpath:舊文件名。newpath:新文件名或者新位置。
具體可以分以下2種情況:
1、修改單個文件
直接使用rename即可。
2、批量修改文件(如:按一定規則修改某目錄下所有文件)
需要使用opendir遍歷目錄,然後修改該目錄下文件。下面提供一個簡單的例子。
voidModFilesName(constchar*pcszPath)
{
charszPathFile[1024]={0};//路徑+文件名
DIR*dir_p;
structdirent*direntp;
structstatentryInfo;
//文件目錄不存在,則創建
if(stat(pcszPath,&entryInfo)<0)
{
printf("Autocreatefolder:%s ",pcszPath);
mkdir(pcszPath,0755);
}
if((dir_p=opendir(pcszPath))==NULL)
{
return;
}
while((direntp=readdir(dir_p))!=NULL)
{
//組合完整路徑
sprintf(szPathFile,"%s/%s",pcszPath,direntp->d_name);
//判斷文件是否是目錄
if(lstat(szPathFile,&entryInfo)==0)
{
if(S_ISDIR(entryInfo.st_mode))
{
continue;//忽略目錄
}
rename(szPathFile,你要修改成的文件名);
}
}//while(...
closedir(dir_p);
}
推薦一片文章:http://blog.chinaunix.net/uid-7525568-id-251530.html
希望能幫助到你,你的好評是我前進的動力!謝謝!