|
修改文件名,好麻烦呀。。。
网上下载的视频,第一次下载6集,文件名中‘:’冒号是全角, '('括号是半角。
第二次下载8集,文件名中‘:’冒号是全角, '('括号是全角。
全角和半角,在char[ ]数组中是不同的。
string.rfind(''); 可以查找半角标点符号的位置,如何查找全角标点符号的位置?
写程序,折腾了半天,功能实现了。。。
程序,改的面目全非,惨不忍睹,自己都不忍心看了。。。
求大神,帮我修改一下。。。
多使用,字符串库函数,简化一下代码。。。。
下载的原文件名如下
空中浩劫第一季(国语配音) - 1.空中浩劫S01E01:联合航空811号班机(国语配音无字幕)(Av802929849,P1).mp4
空中浩劫第一季(国语配音) - 2.空中浩劫S01E02:美国航空1420号班机(国语配音无字幕)(Av802929849,P2).mp4
空中浩劫第一季(国语配音) - 3.空中浩劫S01E03:瑞士航空111号班机(国语配音无字幕)(Av802929849,P3).mp4
空中浩劫第一季(国语配音) - 4.空中浩劫S01E04:秘鲁航空603号班机(国语配音无字幕)(Av802929849,P4).mp4
空中浩劫第一季(国语配音) - 5.空中浩劫S01E05:阿拉斯加航空261号班机(国语配音无字幕)(Av802929849,P5).mp4
空中浩劫第一季(国语配音) - 6.空中浩劫S01E06:越洋航空236号班机(国语配音无字幕)(Av802929849,P6).mp4
空中浩劫系列(国语配音)2 - 2.空中浩劫S03E06:伊朗航空655号班机(国语配音)(Av467940195,P2).mp4
空中浩劫系列(国语配音)2 - 3.空中浩劫S03E08:埃及航空990号班机(国语配音)(Av467940195,P3).mp4
空中浩劫系列(国语配音)2 - 4.空中浩劫S04E07:墨西哥国际航空498号班机(国语配音)(Av467940195,P4).mp4
空中浩劫系列(国语配音)2 - 5.空中浩劫S11E01:巴西天马航空3054号班机(国语配音)(Av467940195,P5).mp4
空中浩劫系列(国语配音)2 - 6.空中浩劫S11E02:西加勒比海航空708号班机(国语配音)(Av467940195,P6).mp4
空中浩劫系列(国语配音)2 - 7.空中浩劫S11E09:尼日利亚航空2120号班机(国语配音)(Av467940195,P7).mp4
空中浩劫系列(国语配音)2 - 8.空中浩劫S11E10:太平洋西南航空1771号班机(国语配音)(Av467940195,P8).mp4
空中浩劫系列(国语配音)2 - 9.空中浩劫S11E13:美国联合航空232号班机(国语配音)(Av467940195,P9).mp4
修改后文件名如下
联合航空811号班机.mp4
美国航空1420号班机.mp4
瑞士航空111号班机.mp4
秘鲁航空603号班机.mp4
阿拉斯加航空261号班机.mp4
越洋航空236号班机.mp4
伊朗航空655号班机.mp4
埃及航空990号班机.mp4
墨西哥国际航空498号班机.mp4
巴西天马航空3054号班机.mp4
西加勒比海航空708号班机.mp4
尼日利亚航空2120号班机.mp4
太平洋西南航空1771号班机.mp4
美国联合航空232号班机.mp4
- #include<iostream>
- #include<io.h>
- #include<string>
- using namespace std;
- void changeFileName(string path)
- {
- char exte[5] = ".mp4"; //文件扩展名
- _finddata_t findData;
- intptr_t handle = _findfirst(path.c_str(), &findData); //查找目录中的第一个文件
- if(handle == -1) throw exception("Error");
- do
- {
- char oldname[260] = {0};
- char newname[260] = {0};
- int j=0;
- strcpy(oldname, findData.name);
- for(j=0; j<128; j++)
- {
- if(oldname[j] == '-') //原文件名中都有‘-’,防止文件改名后,再次被读入进行改名。。。
- break;
- }
- if(j >= 128)
- continue;
- int i=0;
- while(!(oldname[i] == -93 && oldname[i+1] == -70))
- i++;
- i += 2;
- int start = i;
- for(; i<260; i++)
- {
- if(oldname[i] == 40||(oldname[i]== -93 && oldname[i+1] == -88))
- break;
- newname[i-start] = oldname[i];
- }
- strcat(newname,exte); //添加文件扩展名 .mp4
- char old[512] = "C:\\Users\\Administrator\\Desktop\\[WPF]JJDown\\Download\";
- char nwe[512] = "C:\\Users\\Administrator\\Desktop\\[WPF]JJDown\\Download\";
- strcat(old, oldname);
- strcat(nwe, newname);
- rename(old, nwe);
- }while(_findnext(handle, &findData) == 0); //找到目录中下一个文件
- _findclose(handle);
- }
- int main()
- {
- string path = "C:\\Users\\Administrator\\Desktop\\[WPF]JJDown\\Download\\*.mp4";
- changeFileName(path);
- return 0;
- }
复制代码
源代码文件
main.rar
(806 Bytes, 下载次数: 3)
|
上一篇: MFC设计提示框和输入框下一篇: VC++ 制作MFC画图软件遇到重影问题
|