我的主目录中有一个文件:
exists
我想获得完整的绝对路径:
exists
我如何得到它?
我认为规范会有所帮助,但是对于规范工作,文件应~/abc.csv
,而function merge(content, values) {
// loop over all the keys in the values object
Object.keys(values).forEach(function(key) {
// look for the key surrounded by % in the string
// and replace it by the value from values
content = content.replace('%' + key + '%', values[key]);
});
return content;
}
var mailValues = {};
mailValues.first_name = "Janet";
mailValues.last_name = "Doe";
var emailTemplate = "Hi %first_name% %last_name%! Thanks for completing this code challenge :)";
var mergedContent = merge(emailTemplate, mailValues);
document.write(mergedContent);
上的for ... in
函数返回false。
答案 0 :(得分:2)
这不是使路径绝对,也不是规范。
它是~
字符的shell扩展。而且它不是Boost Filesystem中的一个功能。
您可以自行编码:
<强> Live On Coliru
#include <boost/filesystem.hpp>
#include <iostream>
using boost::filesystem::path;
path expand(path p) {
char const* const home = getenv("HOME");
if (home == nullptr)
return p; // TODO handle as error?
auto s = p.generic_string<std::string>();
if (!s.empty() && s.find("~/") == 0u) {
return home + s.substr(1);
}
return p;
}
int main() {
path sample = "~/test.cpp";
std::cout << expand(sample) << "\n";
}
在我的系统上打印“/home/sehe/test.cpp”