我无法加载数据文件,总是无法打开它

时间:2014-01-12 22:06:51

标签: c++ raytracing

我实际上是在写一个光线跟踪器,而且我有一个加载.off的函数。我正在使用xcode,我在同一文件夹中有我的.h .cpp和我的.off。这是我职能的开始:

void Mesh::loadOFF (const std::string & filename) {
   clear ();
   ifstream input (filename.c_str ());
   if (!input)
      throw Exception ("Failing opening the file.");

呼叫是:

Mesh sphereMesh;
sphereMesh.loadOFF ("sphere.off");

如果我的.off和文件在同一个文件夹中,我不明白它总是无法打开。有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

Xcode程序显然是建立在一个奇怪的位置。它们似乎通常位于

~/Library/Developer/Xcode/DerivedData/<project-specific-directory>/Products/<config>

也就是说,您可以cd到您的文件所在的目录,然后运行

~/Library/Developer/Xcode/DerivedData/<project-specific-directory>/Products/Debug/<program>

在尝试打开现有文件时,似乎一般建议依赖于相对目录。如果要打开相对于当前目录的文件,则应该在程序中使用chdir()系统调用相应地设置目录:

int main() {
    chdir("/path-to-the-directory-with-your-file/");
    // ...
}