码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 常用代码001 IsValidFileName VC/MFC 判断有效文件名

时间:2015-06-02 06:53:53      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:2010   c   c++   扩展   dll   



/*
没有扩展名要求的文件名检查\n
1长度为0\n
2目录部分不正确\n
3文件名含有非法字符\n
4如果扩展名不是*,那么检查扩展名是否符合\n
*/
BOOL CCommonFunc::S_IsValidFileName(CString &strP, CString &strExt)
{
 // LN add 2005/05/18 begin
 BOOL ret;
 //删除开头和结尾的无意字符
 strP.TrimLeft();
 strP.TrimRight();

 // check length > 0
 int length = strP.GetLength();
 if(length <= 0)
 {
  return FALSE;
 }

 // check last \\ or / position
 int pos = 0;
 int pos1 = strP.ReverseFind(‘\\‘);
 int pos2 = strP.ReverseFind(‘/‘);

 // get max pos
 if(pos1 > pos2)
 {
  pos = pos1;
 }
 else
 {
  pos = pos2;
 }

 // check pos
 if(pos >= 0 && pos < length)
 {
  // valid dir
  ret = S_IsDirectory(strP.Left(pos));
  if(ret == TRUE)
  {
   CString strT = strP.Right(length - pos - 1);

   // valid file name
   if(strT.
    FindOneOf(_T("\\/:,;*?\"<>|")) == -1
    && strT.GetLength() > 0)
   {
    // check fdb
    if(strExt.CompareNoCase(_T("*")) == 0)
    {
     return TRUE;
    }
    if(strP.Right(strExt.GetLength()).
     CompareNoCase(strExt) != 0)
    {
     strP += strExt;
    }
    return TRUE;
   }
  }
  return FALSE;
 }

 return TRUE;
 // LN add 2005/05/18 end
}

C++ 常用代码001 IsValidFileName VC/MFC 判断有效文件名

标签:2010   c   c++   扩展   dll   

原文地址:http://blog.csdn.net/q1q2q3q4ln/article/details/46320513

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!