在跟随vulkan-tutorial时,我遇到了一个问题。我根本无法使用他使用的方法打开文件。
我有一个名为shader.frag.spv的文件,该文件是片段着色器,已编译为spir-v代码。它位于我的readFile
所在的源文件夹中。
以下是重现我的问题的代码:
#include <iostream>
#include <fstream>
void readFile(const std::string& filename) {
std::ifstream file(filename, std::ios::ate | std::ios::binary);
if (file.is_open())
std::cout << "test";
else
{
std::cin.get(); // I always land on the else block
}
}
int main()
{
readFile("shader.frag.spv");
}
重新启动Visual Studio,更改文件名,更改其内容,使用绝对路径将其移动到单独的文件夹。这些都没有解决我的问题。
有什么想法吗?
答案 0 :(得分:1)
鉴于文件已经在您当前的工作目录中,因此代码应该可以正常工作!
Visual Studio中的默认当前目录是项目根目录,而不是可执行文件所在的目录,如@someProgrammerDude所述。