大家好,感谢邀请,今天来为大家分享一下用C语言编程修改文件名(C++也行)的问题,以及和编程给文件目录起名规范的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
本文目录
用C语言编程修改文件名(C++也行)如何在C语言编程里面修改源文件名字用C语言编程修改文件名(C++也行)修改文件名,可要调用操作系统提供的API函数,比如Windows上的MoveFile(),也可以直接调用cmd中已提供的重命名命令——rename。下面的示例代码,调用rename命令来重名命文件名。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intmain(intac,char*pav[])
{
if(ac!=3){
printf("程序名要重命名的文件路径新的文件名\n");
printf("示例:test.exe1.txt2.txt\n");
return0;
}
if(access(pav[1],0)!=0){
printf("不存在该文件\n");
return0;
}
charszcmd[256]="cmd/crename";
strcat(szcmd,pav[1]);
strcat(szcmd,"");
strcat(szcmd,pav[2]);
system(szcmd);
return0;
}如何在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\n",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
希望能帮助到你,你的好评是我前进的动力!谢谢!
关于本次用C语言编程修改文件名(C++也行)和编程给文件目录起名规范的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。