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

I can't load a data file, always failure to open it

本文关键字:文件 加载 数据      更新时间:2023-10-16

我实际上正在编写一个光线追踪器,我有一个加载.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 和文件在同一个文件夹中,它总是无法打开。有人可以帮助我吗?

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

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

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

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

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

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