Относительная проблема пути - один путь вверх - PullRequest
0 голосов
/ 01 сентября 2011

Это работа: У меня есть exe-файл в той же директории, что и папка Images;

Main:
|-Images
  |-cross_ball
    |-frame.bmp
|-game.exe

Я ссылаюсь на frame.bmp в моем game.exe.

Этот путь хорошо работает: "Images \\ cross_ball \\ frame.bmp"

Это не работает: Exe находится в папке bin. Папка bin находится в той же папке, что и папка Images;

Main:
|-Images
  |-cross_ball
    |-frame.bmp
|-bin
  |-game.exe

Этот путь не работает: ".. \\ Images \\ cross_ball \\ frame.bmp"

Ответы [ 3 ]

3 голосов
/ 01 сентября 2011

Если «Images \ cross_ball \ frame.bmp» работает, то текущий каталог вашего приложения не является каталогом изображений, как вы думаете. Должно быть, это одна штука, чтобы это сработало. Это также объясняет, почему не удается переместить исполняемый файл в каталог bin.

Запускаете ли вы ваше приложение с помощью ярлыка или отладчика? Ярлыки и отладчики указывают текущий каталог приложения, который не обязательно совпадает с каталогом, в котором находится исполняемый файл.

0 голосов
/ 01 сентября 2011

Похоже, что ваша логика в порядке.Вы уверены, что ваш процесс не изменил текущий рабочий каталог - т.е. Main / bin / может не быть вашим рабочим каталогом, когда вы собираетесь внести это изменение в исполняемый файл.

0 голосов
/ 01 сентября 2011

В качестве эксперимента замените каждый \ на \\ и протестируйте снова.

Обратная косая черта обычно используется для escape-последовательностей, таких как \ n.

Соединяя два из них, время выполнения должно изменить их на одно.

"Изображения \\ cross_ball \\ frame.bmp"

...