我想用我的程序打开一个文件,我想使用shell符号让我更容易找到该文件。在运行时使用它之前,有没有一种简单的方法让shell扩展我的文件路径。我正在寻找能够做到这一点的功能。
~/.foo.bar
- > /home/someuser/.foo.bar
是否有一些简单的方法让shell在打开文件之前预处理文件的路径?
答案 0 :(得分:2)
您可以使用wordexp:
#include <wordexp.h>
std::string wordexp(std::string var, int flags = 0)
{
wordexp_t p;
if(!wordexp(var.c_str(), &p, flags))
{
if(p.we_wordc && p.we_wordv[0])
var = p.we_wordv[0];
wordfree(&p);
}
return var;
}
int main()
{
std::cout << wordexp("~/test") << '\n';
}