去掉媒体文件的后缀名 2011.11.21

来源:互联网 发布:ubuntu 回到根目录 编辑:程序博客网 时间:2024/05/18 09:06
#include <iostream>using namespace std;#include <afx.h>#include <string>#include <algorithm>#include <atlconv.h>#ifdef UNICODE#define Tstring wstring#else#define Tstring string#endifCString GetExtName(CString fileName){  int pos=fileName.Find(L"."); //获取 . 的位置  if(pos==-1){ //如果没有找到,直接返回该字符串  return fileName;   }else{  return GetExtName(fileName.Mid(pos+1)); //找到了的话,往深层遍历,直到最底层  }  }CString CutSuffix(CString fileName){CString cstrTemp = GetExtName(fileName);if (cstrTemp.Compare(L"wmv") == 0){fileName = fileName.Left(fileName.GetLength()-4);return fileName;}else if (cstrTemp.Compare(L"ts") == 0){fileName = fileName.Left(fileName.GetLength()-3);return fileName;}else if (cstrTemp.Compare(L"rm") == 0){fileName = fileName.Left(fileName.GetLength()-3);return fileName;}else if (cstrTemp.Compare(L"avi") == 0){fileName = fileName.Left(fileName.GetLength()-4);return fileName;}else if (cstrTemp.Compare(L"mp4") == 0){fileName = fileName.Left(fileName.GetLength()-4);return fileName;}else if (cstrTemp.Compare(L"ra") == 0){fileName = fileName.Left(fileName.GetLength()-3);return fileName;}else if (cstrTemp.Compare(L"qt") == 0){fileName = fileName.Left(fileName.GetLength()-3);return fileName;}else if (cstrTemp.Compare(L"mkv") == 0){fileName = fileName.Left(fileName.GetLength()-4);return fileName;}else if (cstrTemp.Compare(L"mpg") == 0){fileName = fileName.Left(fileName.GetLength()-4);return fileName;}else if (cstrTemp.Compare(L"3gp") == 0){fileName = fileName.Left(fileName.GetLength()-4);return fileName;}else if (cstrTemp.Compare(L"flv") == 0){fileName = fileName.Left(fileName.GetLength()-4);return fileName;}else if (cstrTemp.Compare(L"asf") == 0){fileName = fileName.Left(fileName.GetLength()-4);return fileName;}else if (cstrTemp.Compare(L"mov") == 0){fileName = fileName.Left(fileName.GetLength()-4);return fileName;}else if (cstrTemp.Compare(L"rmvb") == 0){fileName = fileName.Left(fileName.GetLength()-5);return fileName;}else if (cstrTemp.Compare(L"mpeg") == 0){fileName = fileName.Left(fileName.GetLength()-5);return fileName;}else{return fileName;}}CString comparFileName(CString filenname){while (GetExtName(filenname).Compare(L"wmv") == 0 || GetExtName(filenname).Compare(L"ts") == 0|| GetExtName(filenname).Compare(L"rm") == 0 || GetExtName(filenname).Compare(L"3pg") == 0|| GetExtName(filenname).Compare(L"avi") == 0 || GetExtName(filenname).Compare(L"flv") == 0|| GetExtName(filenname).Compare(L"mp4") == 0 || GetExtName(filenname).Compare(L"asf") == 0|| GetExtName(filenname).Compare(L"mkv") == 0 || GetExtName(filenname).Compare(L"mov") == 0|| GetExtName(filenname).Compare(L"ra") == 0 || GetExtName(filenname).Compare(L"rmvb") == 0|| GetExtName(filenname).Compare(L"qt") == 0 || GetExtName(filenname).Compare(L"mpeg") == 0|| GetExtName(filenname).Compare(L"mpg") == 0){ filenname = CutSuffix(filenname);}return filenname;}int   main() { string strfilename = "123.wmv.ts.mov.rm.mkv";CString cstfilename;CString newcstfilename;cstfilename = CString(strfilename.c_str());newcstfilename = comparFileName(cstfilename);string resuletName;USES_CONVERSION;resuletName = T2A(newcstfilename);cout<<resuletName<<endl;return 0;}

这是unicode格式:

输出是:123

原创粉丝点击