📄 filename.cpp
字号:
#include "stdafx.h"
#include "filename.h"
CFileName::CFileName(LPCTSTR str)
{
if (str)
lstrcpy(m_szFileName,str);
else
m_szFileName[0]=0;
}
//追加路径
LPSTR CFileName::operator +=(LPCTSTR str)
{
int n=lstrlen(m_szFileName);
if (m_szFileName[n-1]!='\\' && m_szFileName[n-1]!='/' )
lstrcat(m_szFileName,"\\");
LPSTR lpTmp=(LPSTR)str;
while( *lpTmp=='\\' || *lpTmp=='/') lpTmp++;
return lstrcat(m_szFileName,lpTmp);
}
//将FTP或HTTP中的路径符 "/" 转换为 "\"
LPSTR CFileName::UrlToLocal()
{
int n=lstrlen(m_szFileName);
for (int i=0;i<n;i++)
if (m_szFileName[i]=='/') m_szFileName[i]='\\';
return m_szFileName;
}
//取文件名
LPSTR CFileName::GetFileName()
{
int n=lstrlen(m_szFileName);
while (m_szFileName[--n]!='\\') ;
return &m_szFileName[++n];
}
//取扩展名
LPSTR CFileName::GetExtName()
{
int n=lstrlen(m_szFileName);
while (n)
{
if (m_szFileName[n]=='\\') break;
n--;
}
int p=0;
while (m_szFileName[n])
{
if (m_szFileName[n]=='.') p=n+1;
n++;
}
return p?&m_szFileName[p]:NULL;
}
//添加扩展名
LPSTR CFileName::AppendExtName(LPSTR lpszExtName)
{
if (m_szFileName[lstrlen(m_szFileName)-1]!='.')
lstrcat(m_szFileName,".");
return lstrcat(m_szFileName,lpszExtName);
}
//取类型名
LPSTR CFileName::GetTypeName(LPCTSTR szTypeName)
{
SHFILEINFO si;
SHGetFileInfo(m_szFileName,0,&si,sizeof(si),SHGFI_TYPENAME|SHGFI_USEFILEATTRIBUTES);
return lstrcpy((LPSTR)(LPCTSTR)szTypeName,si.szTypeName);
}
BOOL CFileName::IsSameType(LPCTSTR lpszTypeArr)
{
if (lpszTypeArr[0]=='*' || lpszTypeArr[0]==0) return 1;
char szType[255];
memset(szType,0,255);
lstrcpy(szType,lpszTypeArr);
char * lpszExt=GetExtName();
if (lpszExt==NULL) return 0;
int i;
for(i=0;i<255;i++)
if (szType[i]==';' || szType[i]==' ' || szType[i]==',')
szType[i]=0;
i=0;
while (szType[i])
{
if (lstrcmpi(lpszExt,&szType[i])==0) return 1;
i+=lstrlen(&szType[i])+1;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -