我正在使用visual studio并且在打开这个文本文件时遇到问题我已将它放在包含所有源代码的文件夹中但是我得到了“没有这样的文件或目录”错误。这是我的代码
void Game::load_map(const char *filename)
{
int width,height,current;
std::ifstream in(filename);
if(in.fail()){
std::cout << "problem opening the file" <<std::endl;
perror(filename);
}
else
{
in >> width;
in >> height;
for(int i = 0; i < height; i++)
{
std::vector<int> vec;
for(int j = 0; j<width;j++)
{
if(in.eof())
{
std::cout<< "file ends error" << std::endl;;
return;
}
in >> current;
if(current>=0 && current<=1)
{
vec.push_back(current);
}else{
vec.push_back(0);
}
}
map.push_back(vec);
}
}
in.close();
}
这就是我如何调用这个函数:
load_map("map.map");
答案 0 :(得分:3)
您的程序可能不会在放置源代码的同一目录中运行,而是在Solution\Debug
目录中运行。
将相对于此目录的文件路径传递给您的函数
load_map("..\\Project\\map.map");
或移动要在此处打开的文件。或者如果您不确定程序工作目录的位置是第3个选项,请提供完整路径
load_map("c:\\Blah\\Blub\\Project\\map.map");