Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem, z odczytywaniem plików w innym katalogu.

Ostatnio zmodyfikowano 2008-12-20 16:20
Autor Wiadomość
lynx
Temat założony przez niniejszego użytkownika
Problem, z odczytywaniem plików w innym katalogu.
» 2008-12-19 21:52:28
Mam problem z wczytywaniem plików po przeniesieniu aplikacji. Chodzi oto, że program działa poprawnie, ale tylko w katalogu w którym go skompilowałem po przeniesieniu do innego przestaje działać. Bazuje on na bibliotece standardowej cstdio i edytuje (tylko zapis) on pewien plik. Nie bardzo wiem jak to rozwiązać, z fstream też miałem kłopoty. Dodam jeszcze, że drugi program który tylko wczytyuje działa poprawnie we wszystkich katalogach.

Może istnieje jakaś biblioteka pokazująca w jakim folderze znajduje się aktualnie plik wykonywalny? Wtedy bym sobie tylko łączył tą ścieżkę z nazwą pliku i myślę, że by działało.

Jak temu zaradzić?
P-2862
DejaVu
» 2008-12-19 22:52:10
A te problemy masz pod Windowsem? Jak wygląda u Ciebie otworzenie pliku do zapisu?
P-2863
lynx
Temat założony przez niniejszego użytkownika
» 2008-12-19 23:07:07
Pod Windowsem jeszcze nie testowałem, a kawałek kodu wygląda tak:
C/C++
FILE * konfig;
konfig = fopen( "config.txt", "w+" );
P-2864
DejaVu
» 2008-12-19 23:10:39
Może nie masz uprawnień do tworzenia plików w katalogu do którego przenosisz program?
P-2865
lynx
Temat założony przez niniejszego użytkownika
» 2008-12-19 23:13:23
Niestety mam.
P-2866
DejaVu
» 2008-12-19 23:23:50
Nie znam linuxa na tyle by powiedzieć Ci gdzie leży problem. Problem leży jednak ewidentnie po stronie linuxa, a nie po stronie skompilowanej aplikacji, ponieważ aplikacja wczytuje/zapisuje plik z/do bieżącego katalogu.
P-2867
lynx
Temat założony przez niniejszego użytkownika
» 2008-12-20 12:37:54
Skompilowałem pod Windowsem wszystko działa dobrze w różnych katalogach. Zie mam pojęcia dlaczego to nie chce działać pod Linuxem, zwłaszcza, że drugi program który tylko wczytuje dane działa pod nim dobrze w różnych katalogach. :/

/edit1:
Spróbuję jeszcze skompilować przez konsolkę, bez użycia Code::Blocks.

/edit2:
Skompilowałem i uruchomiłem program, edytuje on niestety(i tworzy) plik w katalogu, w którym został utworzony. :/
P-2868
DejaVu
» 2008-12-20 15:01:59
Cytat kumpla:

hmm ... to zalezy jak tworzysz plik - byc moze tylko go otwierasz , jezeli nie jestes pewien czy kod jest poprawny, sprobuj wykonac touch nazwa_pliku - jezeli plik nie zostanie utworzony, sprawdz uprawnienia katalogu ( albo napraw blad ktory touch wyswietli

Zostałem również natchniony :P Może nie zamykasz pliku i przez to jakiś problem się robi?
P-2870
« 1 » 2
  Strona 1 z 2 Następna strona