string自建常用函式(1)

 

const char SLASH[] = "\\";

string GetPathNameFromPath(string);    // 將路徑傳入,傳出目錄名稱


string GetPathNameFromPath(string strPath_)
{
    
string::size_type stPos_ = 0,  stPostmp_= strPath_.size();
    
string::iterator str_Iter_Begin, str_Iter_End, str_Iter_Pos;
    str_Iter_Begin 
= strPath_.begin();
    str_Iter_End 
= strPath_.end();
    
    stPostmp_ 
= strPath_.rfind(SLASH, stPostmp_);
    
if(stPostmp_ == string::npos)
        
return strPath_;
    
else
        stPos_ 
= stPostmp_ + 1;
    
    
if(stPos_ != 0)
    
{
        str_Iter_Begin 
+= stPos_;

        strPath_.erase(str_Iter_Begin, str_Iter_End);
    }


    
return strPath_;
}

 

使用方式舉例如下:

 

string strPath("C:\\WINDOWS\\system32\\notepad.exe");

string strFilePath = GetPathNameFromPath(strPath);

// strFilePath == "C:\\WINDOWS\\system32\\"

posted on 2008-10-29 09:22  LancetChang  阅读(145)  评论(0)    收藏  举报

导航