2013-08-01 142 views
-1

好的,我使用的方法_getcwd(cwd, _MAX_PATH)返回當前目錄的完整路徑。找到相對路徑

我想設置一個char *dir變量只保存folder3(我在當前文件夾名稱)而不是整個路徑。

所以爲了清楚起見,我想dir持有:

 
folder3 

但是相反dir認爲:

 
c:\documents\folder1\folder2\folder3 

如何擺脫所有通往實際文件夾,我的部分?我一直在研究它幾個小時,並且無法通過互聯網找到任何幫助。

+1

你可能想有看'男人strrchr'和'男人strcpy'。 – alk

+0

...或在Windows上:http://msdn.microsoft.com/en-us/library/ftw0heb9.aspx和http://msdn.microsoft.com/en-us/library/kk6xf663.aspx – alk

回答

0
// string path 
int pos = path.rfind('\\'); 
string relativePath = pos.substr(pos + 1); 
0
int main(void) 
{ 
    char buffer[_MAX_PATH]; 
    std::string bb,relative_path; 
    if(_getcwd(buffer, _MAX_PATH) == NULL) 
     std::cout<< "Error !!" <<std::endl; 
    else 
    { 
     bb=buffer; 
     relative_path=bb.substr(bb.rfind("\\")+1); 
     std::cout<<relative_path<<std::endl; 

    } 
}