在这个函数中,我试图打开一个文件,其中包含一组我想分配给我的矩阵数组的字符,但是无论何时我运行该程序,控制台都会显示一个错误,指出该文件是没开。另一个问题,如果我将该文件添加到我的资源文件夹我如何指定访问该文件,而不是我在我的硬盘驱动器的根目录?ifstream不打开文件
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;
}
}
你能提出一个最小的,完整的和可编译的测试用例来证明问题吗? –
如果这是Windows Vista或更高版本,用户访问控制可能是问题。 –
确保C:\\ map_2.txt存在,并且您的程序可以访问它。第二个问题可以通过使用相对路径来解决:例如:../resource/map_2.txt –