希望能帮助到你,你的好评是我前进的动力!谢谢!
修改文件名,可要调用操作系统提供的API函数,比如Windows上的MoveFile(),也可以直接调用cmd中已提供的重命名命令——rename。下面的示例代码,调用rename命令来重名命文件名。
#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;
}
Winxp?
追答哦,这个也是适用的,你先试试看可以不?
追问注意路径具体是什么意思?
追答如果不行,还一种是这样的:
你加头文件#include
在语句中写system("ren 2013.XXX 2014.XXX");
如果文件不在程序目录下,就在文件名那里加路径就可以了,但路径中的单斜杠(\)要写成双斜杠(\\);
如system("ren c:\\2013.XXX 2014.XXX")
如果你要用字符串来命名文件名。就用这个函数strcat()函数来把字符串接起来就可以了,在、前面加头文件#include.
如上面的列子可以这么写:
char a[10]="2014.XXX";//这是你要改成的文件名。
char b[20]="ren c:\\2013.XXX ";
strcat(b,a);//这里把a、b字符串接起来,经过这里b就等于"ren c:\\2013.XXX 2014.XXX";了 。
//下面直接又调用
system(b);//因为字符串b 经过和a连接后就是整个你需要填进的参数了。
另外还一种是rename(2013.XXX,2014.XXX);但这种没有路径,你每次都要将他们和你的程序放一起,有限制