#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <io.h>
int protectstr(const char *name,char *newname,int len)
{
int errmsg = 0;
/*先找到数字5或者6,其次判断相邻的3个字符是否都是数字,取出数字*/
int i = 0;
/*strchr()*/
char * temp = (char *)name;
/*集数*/
char temp2[10] = { 0 };
/*文件格式*/
char temp3[10] = { 0 };
while (1)
{
temp = strchr(temp, '6');
//if (temp==NULL)
// temp = strchr(temp, '6');
if (temp == NULL)
return -1;
if (*(temp + 1) >= '0'&&*(temp + 1)<='9'&&*(temp + 2)>='0'&&*(temp + 2) <= '9')
{
//表明连续3个字符都是数字
strncpy(temp2, temp, 3);
temp = strchr(temp, '.');
strcpy(temp3, temp);
break;
}
temp += 1;
}
sprintf(newname, "F:/仓库1/火影忍者/火影忍者%s%s", temp2, temp3);
return errmsg;
}
void main()
{
//读取目录下文件的方法
struct _finddata_t files;
int File_Handle;
File_Handle = _findfirst("F:/仓库1/火影忍者/*", &files);
if (File_Handle == -1)
{
printf("error\n");
return ;
}
int i = 0;
char oldname[1024] = { 0 };
char newname[1024] = { 0 };
do
{
memset(oldname, 0, sizeof(oldname));
memset(newname, 0, sizeof(newname));
//printf("%s \n", files.name);
sprintf(oldname, "F:/仓库1/火影忍者/%s", files.name);
if (protectstr(files.name, newname, strlen(files.name)) == 0)
rename(oldname, newname);
i++;
} while (0 == _findnext(File_Handle, &files));
_findclose(File_Handle);
//char newname[1024] = { 0 };
//protectstr(names, newname, strlen(names));
//printf("%s\n", newname);
system("pause");
}