从DirectX 11.2应用程序打开或创建文件

时间:2014-08-29 15:52:56

标签: c++ file

我正在尝试打开一个.obj文件,其中包含Blender中球体的顶点和面。问题是我似乎无法看到,对于我的生活,打开包含.obj数据的文件。我尝试使用普通的C ++方式写入.txt文件来检查appilcation创建它的位置,并尝试将.obj文件放在该文件夹中。我用来写入.txt文件的代码如下:

std::ofstream myfile("nestotamo.txt");
if (myfile.is_open())
{
    myfile << "This is a line.\n";
    myfile << "This is another line.\n";
    myfile.close();
}
else DebugPrint("Unable to open file");

我发布的代码不起作用,甚至没有创建文件。我应该从哪里尝试加载.obj文件,为什么我甚至不能创建一个常规.txt文件来找出应用程序放置它们的位置。

我以前尝试加载数据的代码如下:

   std::wifstream fileIn(path.c_str());

        if (fileIn)
        {
            while (fileIn)
            {
                wchar_t line[64];
                fileIn.getline(line, 64);
                DebugPrint(line);
            }
        }
        else {
            DebugPrint("\t The file wasnt loaded...\n");
        }

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我发现在使用文件时我不能使用常规c ++因为DirectX在处理这些文件时有一些额外的限制。但是,幸运的是我发现该文件需要位于以下文件夹中:

Solution_Name\x64\Debug(or Release)\Projekt_Name\AppX

我使用的代码是:

        std::wifstream fileIn(path.c_str());

        if (fileIn)
        {
            DebugPrint("The file loading begun: \n\n");

            while (fileIn)
            {
                wchar_t line[64];
                memset(line, '\0', 64);
                fileIn.getline(line, 64);

                DebugPrint(line);
                DebugPrint("\n");
            }
        }
        else {
            DebugPrint("\t The file wasnt loaded...\n");
        }