无法使用boost C ++在ubuntu中使用完整路径打开文件

时间:2014-06-13 12:39:55

标签: c++ ubuntu boost

使用ubuntu玩智能 boost 库,使用以下代码,文件 main.cpp 打开并打印,但是当我尝试在某些文件上打开其他文件时其他位置,它不起作用。

这是代码

std::string line;
boost::filesystem::ifstream file ("main.cpp") ;
if (file.is_open())
{
  while ( getline (file,line) )
  {
    std::cout << line << '\n';
  }
  file.close();
}

else std::cout << "Unable to open file"<< std::endl;

这是我给出的路径,而不是它的工作原理。

boost::filesystem::ifstream file ("/home/0circle/workspace/practice/main.cpp") ;

有人可以告诉我可能是什么问题以及如何治愈它?

谢谢:)

1 个答案:

答案 0 :(得分:1)

确保该文件存在且您有权阅读该文件:

  • 在shell中执行:ls -l /home/0circle/workspace/practice/main.cpp
  • 验证您是否具有读取权限(输出的第一列) 以前的shell命令)。见this
  • 尝试找出失败的原因:见this