Citat:
Meni treba da ne znam gde je covek kome dajem program smestio isti.
Naravno. To je stvar izbora korisnika. Ti samo hoćeš da UNDO fajlove smeštaš u:
X:\TAMO_GDE_JE_KORISNIK_ODABRAO\UNDOFOLDER\undo01.txt
Odavde se vidi da je korisnik odabrao da mu EXE bude u TAMO_GDE_JE_KORISNIK_ODABRAO,
a ti si definisao folder UNDOFOLDER u koji ćeš stavljati undo fajlove.
Citat:
Samo mi je zgodnije da se undo fajlovi prave u posebnom folderu
O tome i govori gornji slučaj.
Citat:
Inace, ako ti nije smaranje, mozes li mi objasniti to da nema sigurice kad samo kazes ime fajla?
Postoji API: GetCurrentDirectory() koji govori gde je trenutni folder u koji se vrši snimanje.
Taj folder se može podesiti sa: SetCurrentDirectory().
Po defaultu, radni folder je tamo gde je EXE, ali ne mora da znači. Na primer, ako program
pokrećeš preko prečice (ikone) koju si napravio, a nisi podesio Working Folder, može se
dogoditi da ti radni folder više nije gde je EXE, nego negde sasvim drugde.
Takođe, mnogi Save/Open/Print/Browse dijalozi znaju da "razdese" radni folder, pa ti sve
lepo radi do prvog sledećeg Save As koji si uradio van radnog foldera.
Citat:
- ne kontam sta si zeleo reci sa argv[0].
int main( int argc, char*argv[] )
{
printf ( "%s", argv[0] );
return 0;
}
... ce ti dati putnju+exe gde program instaliran (pokrenut), dakle, na primer:
c:\Program Files\Di recnik\di.exe
To znači, da je argv[0] automatski "napunjen" sa celom putanjom, što ti je
polazni podatak da dalje ručno formiraš odgocarajuću UNDO folder.
U konkretnom slučaju, treba:
1) iz putanje
c:\Program Files\Di recnik\di.exe
... skloniti EXE deo, tako da ostane:
c:\Program Files\Di recnik\
2) dodati UNDO FOLDER:
c:\Program Files\Di recnik\MOJ_UNDO_FOLDER\
3) dodati UNDO fajl
c:\Program Files\Di recnik\MOJ_UNDO_FOLDER\Undo1.txt
4) proslediti ovu CELU putanju sa fajlom u ofstream, ili gde već prosledjuješ.
Citat:
- Pokusacu sa API-jem, a tebi svakako hvala!
API koji samti dao, radi istu stvar kao i argv[0], dajke, u nizu "buffer" čuva
celu putanju sa exe-om.
Kako ćeš da skloniš naziv fajla i dodaš svoj UNDO folder i dodaš UNDO fajl, to
je već tvoj problem. Ili ćeš ručno ili uz pomoć neke biblioteke (funkcije) koja
to radi za tebe.