gpt4 book ai didi

c++ - ifstream 不打开文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:51:00 25 4
gpt4 key购买 nike

在这个函数中,我试图打开一个文件,其中包含一组我想分配给我的矩阵数组的字符,但是每当我运行这个程序时,控制台都会显示一条错误消息,指出该文件未打开。另一个问题,如果我将该文件添加到我的资源文件夹,我如何指定访问该文件而不是我硬盘根目录中的文件?

ifstream readSecondMap("C:\\map_2.txt", ifstream::in);

void Stage::populateStage(ifstream &myStage, char (&myArray)[mapXcor][mapYcor]) {
if(myStage.is_open()){
for(int a = 0; a < mapXcor+1; ++a){
for(int b = 0; b < mapYcor+1; ++b){
myArray[a][b] = (char) myStage.get();
}
}
myStage.close();
} else {
std::cout << "Error: Unable to open File" <<std::endl;
}
}

最佳答案

问题很可能是以下之一:

1) map_2.txt 不存在于您在 ifstream 声明中指定的位置。

2) 您没有足够的权限访问 C 盘的根文件夹。

我建议将文件移动到您的代码临时存储的同一个文件夹,并首先尝试让它与该位置一起工作,以验证问题出在文件位置或访问权限上,而不是您正在做的事情你的代码。然后将它移动到您的资源文件夹,如果可以的话,使用相对路径名来访问它。如果当文件与您的代码位于同一文件夹中并且您正确编写了路径名时它不起作用,那么您可能在代码中做错了并且需要发布大部分代码以公开问题给我们。

关于c++ - ifstream 不打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15961630/

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