Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c+中的绝对文件路径+;Linux下 我一直试图访问一个给定的文件,它总是在同一个位置,下面的C++代码: if (pcl::io::loadPCDFile<pcl::PointXYZ> ("~/Downloads/table_scene_lms400.pcd", *cloud) == -1) //* load the file if(pcl::io::loadPCDFile(“~/Downloads/table\u scene\u lms400.pcd”,*cloud)==-1)//*加载文件 由于显然“~”不是C++下的工作,互联网上的各种帖子建议使用/家庭/下载/…相反然而,我似乎没有让它发挥作用。我一直收到一个错误,说上面路径下的给定文件找不到 < C++中正确访问文件路径的正确方法是什么?< /P>_C++_Linux - Fatal编程技术网 ,c++,linux,C++,Linux" /> ,c++,linux,C++,Linux" />

c+中的绝对文件路径+;Linux下 我一直试图访问一个给定的文件,它总是在同一个位置,下面的C++代码: if (pcl::io::loadPCDFile<pcl::PointXYZ> ("~/Downloads/table_scene_lms400.pcd", *cloud) == -1) //* load the file if(pcl::io::loadPCDFile(“~/Downloads/table\u scene\u lms400.pcd”,*cloud)==-1)//*加载文件 由于显然“~”不是C++下的工作,互联网上的各种帖子建议使用/家庭/下载/…相反然而,我似乎没有让它发挥作用。我一直收到一个错误,说上面路径下的给定文件找不到 < C++中正确访问文件路径的正确方法是什么?< /P>

c+中的绝对文件路径+;Linux下 我一直试图访问一个给定的文件,它总是在同一个位置,下面的C++代码: if (pcl::io::loadPCDFile<pcl::PointXYZ> ("~/Downloads/table_scene_lms400.pcd", *cloud) == -1) //* load the file if(pcl::io::loadPCDFile(“~/Downloads/table\u scene\u lms400.pcd”,*cloud)==-1)//*加载文件 由于显然“~”不是C++下的工作,互联网上的各种帖子建议使用/家庭/下载/…相反然而,我似乎没有让它发挥作用。我一直收到一个错误,说上面路径下的给定文件找不到 < C++中正确访问文件路径的正确方法是什么?< /P>,c++,linux,C++,Linux,非常感谢,很抱歉这个问题太简单了 tilde~由shell扩展,它不是路径的通用部分 我建议您使用环境变量HOME获取当前用户主目录的路径,然后附加路径的其余部分。bash和zsh等shell将~扩展到主目录。您使用的函数不可用。你必须以其他方式扩展它。您可以cd~然后pwd找出shell认为您的主目录在哪里,并使用它。或者,您可以启动一个shell并请求它提供主目录,或者尝试一个环境变量,或者使用一些库,例如Qt:。C++运行时不展开文件路径。我所做的是这样的: #include <cs

非常感谢,很抱歉这个问题太简单了

tilde
~
由shell扩展,它不是路径的通用部分


我建议您使用环境变量
HOME
获取当前用户主目录的路径,然后附加路径的其余部分。

bash和zsh等shell将
~
扩展到主目录。您使用的函数不可用。你必须以其他方式扩展它。您可以
cd~
然后
pwd
找出shell认为您的主目录在哪里,并使用它。或者,您可以启动一个shell并请求它提供主目录,或者尝试一个环境变量,或者使用一些库,例如Qt:。

C++
运行时不展开文件路径。我所做的是这样的:

#include <cstdlib>

std::string const HOME = std::getenv("HOME") ? std::getenv("HOME") : ".";

std::ifstream myfile(HOME + "/path/in/home/folder.txt");
#包括
std::string const HOME=std::getenv(“HOME”)?std::getenv(“主页”):“;
std::ifstream myfile(HOME+“/path/in/HOME/folder.txt”);

应该是
/home/budekatude/Downloads/…
或任何你的用户名和主目录。@nwp:这就成功了!请将其作为答案发布,我会将其标记为解决方案!非常感谢!