Odczyt z pliku INI

0

Witam wszystkich,

Mam następujący problem: chciałbym odczytać z pliku INI ściężkę do jakiegoś pliku, przy czym ścieżka ta jest opisana np. tak:
PATH=c:\n1\n2
Niestety standartowa funkcja ReadString() odczytuje mi to niepoprawnie, z uwagi na \n.
Wyjściem byłoby (1) od razu wpisywanie do INI sformatowanej ścieżki:
PATH=c:\n1\n2\
wtedy przy odczycie nie byłoby problemów, albo (2) zmuszenie funkcji ReadString() do traktowania przeczytanej sekcji jako ścieżki, tylko pytanie jak to zrobić ?
Powiem szczerze, że bardziej podobałoby mi się rozwiązanie (2) ;P
Z góry dzięki

Apacz

0

Gdzieś w download jest mój parser ini (f_ini), nie sprawia takich problemów (i chyba już nie ma już żadnych bugów).

0

Dzięki za odpowiedź, ale czy nie da się tego zrobić jakoś prościej ;)

Apacz

0

Standardowa funkcja ReadString dziala oczywiscie poprawnie;) Trzeba tylko pamietac, ze aby wpisac do lancucha '', trzeba uzyc '\'.

0

Do postu powyżej... Cały czas właśnie o to chodzi.

wracając do problemu...

masz powiedzmy plik c:\costam.ini :

[sekcja]
; jakis komentarz
zmienna=c:\abc.def\ghi\jkl.ext

to w programie :

char* sciezka;
ini* conf=new ini("c:\costam.ini");
if(!conf)return 1; //blad
sciezka=conf->getvar("sekcja","zmienna");
// i dopoki nie wywolasz delete... sciezka wskazuje na szukany ciag, lub NULL jesli brak
if(!sciezka)return 2; // brak zmiennej  w sekcji, lub w ogole sekcji

// mozna też tak:
sciezka=conf->getvardef("sekcja","zmienna","c:\\katalog\\innyplik.ble");
// tu niestety musi byc \\ bo tak każdy kompilator c ma i juz


delete conf;

// moze sie pokusisz o dopisnie konstruktora kopiującego ? taki mał brak, ktorego juz nie opublikowalem

1 użytkowników online, w tym zalogowanych: 0, gości: 1