当我在 Eclipse 中运行一个应该读取文件并将其内容输出到控制台的程序时,它读取它并输出它没有任何问题,但是当我构建它并在 IDE 之外运行它时它不会读取它.
这是读取文件的代码:
Map::Map(std::string file, SE_Graphics *graphics) {
std::ifstream input(file);
if (input.is_open()) {
std::string line;
while (std::getline(input, line)) {
std::cout << line << std::flush;
}
input.close();
} else {
std::cout << "File is missing" << std::flush;
}
}
这就是我调用该方法的方式:
Map map("salsaboy/maps/test.sem", se.getGraphics());
这是文件夹结构:
Lab (the build)
src
salsaboy
|-tiles
|-maps
|-test.sem
每次我在 IDE 之外运行它时,它只是说File is missing
,即使我尝试写入该文件input.is_open()
也不是真的。
我能看到的唯一方法是从可执行文件的目录中获取整个文件路径,剪切文件,然后用我想要的文件路径替换它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句