Я не могу прочитать файл с ifstream в сборке, но могу прочитать его в IDE - PullRequest
0 голосов
/ 05 ноября 2018

Когда я запускаю программу в 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(), это не так.

1 Ответ

0 голосов
/ 05 ноября 2018

Единственное, что я могу сделать, - это получить полный путь к файлу из каталога исполняемого файла, вырезать файл и заменить его желаемым путем к файлу.

...