#include <io.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
char path_bufferS[_MAX_PATH];
char drive[_MAX_DRIVE];
char dir[_MAX_DIR];
char fname[_MAX_FNAME];
char ext[_MAX_EXT];
char path_bufferD[_MAX_PATH];
//欲查找的文件,支持通配符
//要替换的文件所在的文件夹的路径
const char *to_search="D:\\我的文档\\桌面\\新建文件夹 (2)\\*.txt";
//要替换的文件类型
const char *replace_name=".c";
_splitpath( to_search, drive, dir, fname, ext );
//用于查找的句柄
long handle;
//文件信息的结构体
struct _finddata_t fileinfo;
//第一次查找
handle=_findfirst(to_search,&fileinfo);
if(-1==handle)return -1;
//得到文件名字
_splitpath( fileinfo.name, fname, fname, fname, ext );
//得到目的文件名字
_makepath(path_bufferD, drive, dir, fname, replace_name );
//得到源文件名字
_makepath(path_bufferS, drive, dir, fname, ext );
//复制
if (rename(path_bufferS ,path_bufferD) == 0)
printf("成功\n");
//循环查找其他符合的文件,知道找不到其他的为止
while(!_findnext(handle,&fileinfo))
{
_splitpath( fileinfo.name, fname, fname, fname, ext );
_makepath(path_bufferD, drive, dir, fname, replace_name );
_makepath(path_bufferS, drive, dir, fname, ext );
if (rename(path_bufferS,path_bufferD) == 0)
printf("成功\n");
}
//别忘了关闭句柄
_findclose(handle);
return 0;
}