C++ 获取错误:使用ifstream加载文件时,perror中没有此类文件或目录

C++ 获取错误:使用ifstream加载文件时,perror中没有此类文件或目录,c++,C++,所以我正在做一个类似于ascii胭脂的东西,我试图实现一个功能,玩家可以加载不同的级别。当我运行代码时,它给我这个错误:没有这样的文件或目录。这两个文件SaveInfo.txt和Level1.txt都与程序位于同一文件夹中。同样在SaveInfo.txt中,它说的是Level1,就是它。在Level1.txt中,它有一段随机文本,共16行。注意:这是一个名为map的类的cpp。我在.h文件中创建了所有变量。我正在使用Visual Studio 2017。当我读不到levelNumber时,它会读

所以我正在做一个类似于ascii胭脂的东西,我试图实现一个功能,玩家可以加载不同的级别。当我运行代码时,它给我这个错误:没有这样的文件或目录。这两个文件SaveInfo.txt和Level1.txt都与程序位于同一文件夹中。同样在SaveInfo.txt中,它说的是Level1,就是它。在Level1.txt中,它有一段随机文本,共16行。注意:这是一个名为map的类的cpp。我在.h文件中创建了所有变量。我正在使用Visual Studio 2017。当我读不到levelNumber时,它会读出Level1。所以我不知道为什么它不起作用

这是SaveInfo和Level1所在的位置:C:\Users\Knigh\Desktop\Code\Ascii Rougelike\Ascii Rougelike

#include "Map.h"
#include <iostream>
#include <fstream>
#include <cstdlib>


void Map::loadLevel() {
    ifstream load;
    load.open("SaveInfo.txt");
    if (load.fail()) {
        perror("SaveInfo.txt");
    }

    getline(load, _levelNumber);
    load.close();

    //Opens level file
    load.open(_levelNumber);
    if (load.fail()) {
        perror(_levelNumber.c_str());
    }
    load >> _levelSize; 
    for (int y = 0; y < _levelSize; y++) {

        getline(load, _levelLineBuffer);
        _level.push_back(_levelLineBuffer);
    }
    load.close();
}

void Map::printLevel() {
    for (int y = 1; y < _levelSize; y++) {
        cout << _level[y] << endl;
    }
}
#包括“Map.h”
#包括
#包括
#包括
void Map::loadLevel(){
流负荷;
打开(“SaveInfo.txt”);
if(load.fail()){
perror(“SaveInfo.txt”);
}
getline(负载,_levelNumber);
load.close();
//打开级别文件
载荷。打开(_levelNumber);
if(load.fail()){
perror(_levelNumber.c_str());
}
加载>>\u水平尺寸;
对于(int y=0;y<_levelSize;y++){
getline(加载,_levelLineBuffer);
_level.push_back(_levelLineBuffer);
}
load.close();
}
void Map::printLevel(){
对于(int y=1;y<_levelSize;y++){

cout已解决:在名为SaveInfo.txt的文件中,我忘记将.txt写入第一级文件的末尾。因此,它无法识别目录中的文件。

两个文件SaveInfo.txt和Level1.txt与程序位于同一文件夹中这不一定是C++的地方——他们需要在你运行程序的目录中,如果你使用IDE是项目目录。你可以添加你的程序的文件树,包括SaveInfo.txt的地方和Leave1.Txt吗?还有一个东西,你使用井手/OS吗?你正在尝试操作。两个文件,
SaveInfo.txt
Level1.txt
。尽可能独立地编写新功能。将此代码拆分为一个读取
SaveInfo.txt
且不执行任何其他操作的版本,然后查看是否有效。另外,制作另一个写入
Level1.txt
的版本(使用硬编码值)Neil:它在我运行程序的目录中。我使用的IDE是visual studio 2017。KorelK:我现在要添加它Beta:我已经做了,我有一个level1.txt阅读器,它工作正常,与SaveInfo相同。当我将两者结合在一起时,我会出现这个错误