修改文件名,可要調(diào)用操作系統(tǒng)提供的API函數(shù),比如Windows上的MoveFile(),也可以直接調(diào)用cmd中已提供的重命名命令——rename。下面的示例代碼,調(diào)用rename命令來重名命文件名。
做網(wǎng)站、成都做網(wǎng)站的開發(fā),更需要了解用戶,從用戶角度來建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。成都創(chuàng)新互聯(lián)公司多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見的多,溝通容易、能幫助客戶提出的運(yùn)營建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇成都創(chuàng)新互聯(lián)公司,不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來訪用戶感受到浩方產(chǎn)品的價值服務(wù)。
#include?stdio.h
#include?stdlib.h
#include?string.h
int?main(int?ac,?char?*pav[])
{
if?(ac!=3)?{
printf("程序名?要重命名的文件路徑?新的文件名\n");
printf("示例:test.exe?1.txt?2.txt\n");
return?0;
}
if?(access(pav[1],?0)?!=0)?{
printf("不存在該文件\n");
return?0;
}
char?szcmd[256]?=?"cmd?/c?rename?";
strcat(szcmd,?pav[1]?);
strcat(szcmd,?"?");
strcat(szcmd,?pav[2]);
system(szcmd);
return?0;
}
我告訴你一個很簡單的方法
你加頭文件#includestdlib.h
在語句中寫system("ren
qq.txt
ww.txt");
如果文件不在程序目錄下,就在文件名那里加路徑就可以了,但路徑中的單斜杠(\)要寫成雙斜杠(\\);
如system("ren
c:\\qq.txt
ww.txt")
如果你要用字符串來命名文件名。就用這個函數(shù)strcat()函數(shù)來把字符串接起來就可以了,在、前面加頭文件#includestring.h.
如上面的列子可以這么寫:
char
a[10]="ww.txt";//這是你要改成的文件名。
char
b[20]="ren
c:\\qq.txt
";
strcat(b,a);//這里把a(bǔ)、b字符串接起來,經(jīng)過這里b就等于"ren
c:\\qq.txt
ww.txt";了
。
//下面直接又調(diào)用
system(b);//因?yàn)樽址産
經(jīng)過和a連接后就是整個你需要填進(jìn)的參數(shù)了。
不能,為了系統(tǒng)的可移植性,C語言系統(tǒng)函數(shù)是無法更改的,只能定義函數(shù)庫沒有的函數(shù)。
#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;
}