gpt4 book ai didi

c++ - Ifstream 在子文件夹中找不到文件

转载 作者:行者123 更新时间:2023-11-28 05:58:10 27 4
gpt4 key购买 nike

这似乎是一个简单的问题,但即使借助 Internet,我也无法弄清楚。

所以基本上,因为我的项目文件变得相当大,我想通过创建子文件夹来清理工作目录。所以我搬家了着色器文件到 Ressources/Shaders/。

现在我只想像往常一样使用新路径加载它们,但我总是遇到错误。

ifstream fin("Ressources/Shaders/texture.vs");

不起作用。以及

.\\Ressources\\Shaders\\textures.vs
./Ressources/Shaders/textures.vs
/Ressources/Shaders/textures.vs
\\Ressources\\Shaders\\textures.vs
Ressources/Shaders/textures.vs
Ressources\\Shaders\\textures.vs

我也试过不用大写字母。而

"texture.vs"

当它仍在工作目录中时工作。

我很感激任何提示。

最佳答案

在 Visual Studio 中,您可以检查当前工作目录是什么(此路径必须与您尝试打开的文件的路径匹配):

char * dir = getcwd(NULL, 0);    
cout << dir << endl;

然后您可以通过尝试打开文件来检查您的文件是否存在(大小写无关紧要):

ifstream fin("Ressources\\Shaders\\texture.vs");
if (fin)
cout << "File Exists" << endl;
else
cout << "File Doesn't Exist" << endl;

如果你的路径是正确的,这应该可以工作。

如果您想查看您实际访问的路径,您可以执行以下操作:

char * dir = getcwd(NULL, 0);   
printf("%s\\Ressources\\Shaders\\texture.vs", dir);

关于c++ - Ifstream 在子文件夹中找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33783730/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com