在這個函數中,我試圖打開一個文件,其中包含一組我想分配給我的矩陣數組的字符,但是無論何時我運行該程序,控制檯都會顯示一個錯誤,指出該文件是沒開。另一個問題,如果我將該文件添加到我的資源文件夾我如何指定訪問該文件,而不是我在我的硬盤驅動器的根目錄?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 –