Dla względnych ścieżek, oto co zrobiłem. Zdaję sobie sprawę z wieku tego pytania, chcę po prostu udzielić prostszej odpowiedzi, która działa w większości przypadków:
Powiedz, że masz taką ścieżkę:
"path/to/file/folder"
Z jakiegoś powodu pliki wykonywalne zbudowane w systemie Linux wykonane w środowisku Eclipse działają z tym dobrze. Jednak Windows staje się bardzo zdezorientowany, jeśli ma taką ścieżkę do pracy!
Jak wspomniano powyżej, istnieje kilka sposobów, aby uzyskać bieżącą ścieżkę do pliku wykonywalnego, ale najłatwiejszy sposób, jaki uważam, działa za urok w większości przypadków, dodając to do PRZEDNIEJ ścieżki:
"./path/to/file/folder"
Dodanie „./” powinno posortować! :) Następnie możesz rozpocząć ładowanie z dowolnego katalogu, o ile chcesz z samego pliku wykonywalnego.
EDYCJA: To nie zadziała, jeśli spróbujesz uruchomić plik wykonywalny z kodu :: blocks, jeśli jest to używane środowisko programistyczne, ponieważ z jakiegoś powodu kod :: bloki nie ładuje się poprawnie ...: D
EDIT2: Kilka nowych rzeczy, które znalazłem, to to, że jeśli podasz ścieżkę statyczną, taką jak ta w swoim kodzie (Zakładając, że przykład.data jest czymś, co musisz załadować):
"resources/Example.data"
Jeśli następnie uruchomisz aplikację z rzeczywistego katalogu (lub w systemie Windows utworzysz skrót i ustawisz katalog roboczy na katalog aplikacji), to tak będzie działać. Należy o tym pamiętać podczas debugowania problemów związanych z brakującymi ścieżkami zasobów / plików. (Szczególnie w IDE, które ustawiają zły katalog roboczy podczas uruchamiania exe kompilacji z IDE)