首页 > 代码库 > C语言 自动修改文件名小程序
C语言 自动修改文件名小程序
#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"); }
C语言 自动修改文件名小程序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。