Моя рекомендация: во-первых, ваша основная программа должна принять собственное имя файла в качестве аргумента, представляющего, где находятся данные для программы, например,
C:\program files\mycompany\mygame
Это возлагает ответственность за решение, какие данные использовать.другой программе (например, bash-скрипту или драйверу и т. д.).
Во-вторых, определите части пространства каталога с данными в формате unix , чтобы все литералы имен файлов в вашей программеесть этот формат.Нет ifs и но, всегда Unix.Например:
spriteLib.loadSprite("data/sprites/sprite-ghost.bmp");
Теперь напишите функцию, которая объединяет переданное имя каталога (в собственном формате) с именем файла unix, переведенным в собственный формат, чтобы получить подходящее имя файла для доступа.Вы уже пытались это сделать, но используете функцию, зависящую от ОС.Не.Напиши это сам.Вы хотите получить это:
C:\program files\mycompany\mygame\data\sprites\sprite-ghost.bmp
Метод @ Industrial-антидепрессант (ранее @ хорошая блондинка глупая девушка) тоже довольно хорош, но это немного больше работы.