2016-12-19 156 views
0

使用模擬器並在節點內打開終端時,需要從父目錄讀取以當前目錄名稱開頭的文件。結構如下:C++從父目錄中獲取目錄路徑,解析文件夾名稱和打印文件內容

/path/to/directory/session#/node.conf 
         | 
         |_node.xy 

我可以使用升壓庫得到當前路徑(以及父路徑)/path/to/directory/session#/node.conf

std::string cwd = getcwd(NULL, 0); 
boost::filesystem::path p1(cwd); 
... p1.parent_path() 

我不熟悉的加速,但我想獲得的文件夾名稱僅node.conf,解析得到node,導航到父目錄,並從一個叫node.xy文件中讀取。

這樣做的最佳方法是什麼?我在這裏尋找其他問題,但找不到適合我的人。

謝謝

回答

0

該Boost文件系統豐富的方法。有許多方法可以做同樣的事情。總是保持文檔方便,您將需要它們。

Documentation Links

Reference Documentation

所以:

#include <iostream> 
#include <boost/filesystem.hpp> 

int main() 
{ 
    namespace bfs= boost::filesystem; 

    bfs::path p1("/path/to/directory/session#/node.conf"); 
    bfs::path target(p1.parent_path()/"_node.xy"); 
    std::cout << target << std::endl; 
    //or 
    bfs::path targ2(p1); 
    targ2.remove_filename(); 
    targ2/= "_node.xy"; 
    std::cout << targ2 << std::endl; 
    return 0; 
} 
相關問題