使用boost :: filesystem扩展用户路径

boost::filesystem是否有扩展以用户主目录符号(Unix上的~)开头的路径的功能,类似于Python中提供的os.path.expanduser函数?使用boost :: filesystem扩展用户路径

回答:

但是你可以做这样实现:

namespace bfs = boost::filesystem; 

using std;

bfs::path expand (bfs::path in) {

if (in.size() < 1) return in;

const char * home = getenv ("HOME");

if (home == NULL) {

cerr << "error: HOME variable not set." << endl;

throw std::invalid_argument ("error: HOME environment variable not set.");

}

string s = in.c_str();

if (s[0] == '~') {

s = string(home) + s.substr (1, s.size() - 1);

return bfs::path (s);

} else {

return in;

}

}

而且,看看通过@WhiteViking建议similar question。

以上是 使用boost :: filesystem扩展用户路径 的全部内容, 来源链接: utcz.com/qa/258241.html

回到顶部