在此函数中,我试图打开一个文件,其中包含一组我想分配给矩阵数组的字符,但是每当我运行此程序时,控制台都会显示一条错误,指出该文件未打开。另一个问题,如果我将该文件添加到我的资源文件夹中,我如何指定访问该文件而不是硬盘驱动器根目录中的文件?
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) 您在 ifstream 声明中指定的位置不存在 map_2.txt。
2) 您没有足够的权限访问C盘根文件夹。
我建议将文件移动到临时存储代码的同一文件夹中,并首先尝试使其在该位置工作,以验证问题是否与文件位置或访问权限有关,而不是与您在代码中执行的操作有关。然后将其移动到您的资源文件夹,并使用相对路径名来访问它(如果有效)。如果当文件与代码位于同一文件夹中并且路径名编写正确时它不起作用,那么您可能在代码中做错了什么,并且需要发布较大部分的代码来公开问题交给我们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)