Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - determinare cartella eseguibile
Forum - C/C++ - determinare cartella eseguibile

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
Ciao a tutti. Dovrei determinare dove si trova il mio programma, qualcuno sa aiutarmi?

PM Quote
Avatar
giuseppe93 (Ex-Member)
Pro


Messaggi: 166
Iscritto: 02/08/2009

Segnala al moderatore
Postato alle 18:41
Mercoledì, 27/01/2010
cosa vuol dire?? si trova nella stessa cartella del file sorgente no?


:)
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 18:47
Mercoledì, 27/01/2010
Testo quotato

Postato originariamente da giuseppe93:

cosa vuol dire?? si trova nella stessa cartella del file sorgente no?



Forse non mi sono espresso bene... dopo averlo compilato il programma verrà utilizzato su altri PC (dove non si conoscerà il percorso) e il programma dovrà determinarlo e copiare il tutto in un char

PM Quote
Avatar
giuseppe93 (Ex-Member)
Pro


Messaggi: 166
Iscritto: 02/08/2009

Segnala al moderatore
Postato alle 19:05
Mercoledì, 27/01/2010
qua spiegano come fare...
http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=10 ...
cmq mi sembra che ci sia un api apposita per ottenere la cartella...

Ultima modifica effettuata da giuseppe93 il 27/01/2010 alle 20:17


:)
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:58
Mercoledì, 27/01/2010
Il percorso completo di nome dell'eseguibile e' nell'elemento 0 di argv (parametri del main) ...

printf("%s\n", argv[0]);


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 21:28
Mercoledì, 27/01/2010
Testo quotato

Postato originariamente da nessuno:

Il percorso completo di nome dell'eseguibile e' nell'elemento 0 di argv (parametri del main) ...

printf("%s\n", argv[0]);



Se l'elemento viene richiamato con ./nomeeseguibile non restituisce la cartella. Proverò a leggere quello che mi ha proposto giuseppe93

PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1787
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 22:50
Mercoledì, 27/01/2010
Windows:
http://msdn.microsoft.com/en-us/library/aa364934%28VS.85%2 ...

Linux:
http://linux.die.net/man/3/getcwd

Se vuoi fare una cosa indipendente dal sistema operativo, crea una tua funzione wrapper che include il codice di entrambe in questo modo:
Codice sorgente - presumibilmente C/C++

  1. #if defined(WIN32)
  2. // ... codice per la versione windows
  3. #else
  4. // ... codice per Linux
  5. #endif



Ciao ;)


Software Failure: Guru Meditation
Forum su Informatica, Elettronica, Robotica e Tecnologia: http://www.nonsoloamiga.com
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 18:08
Giovedì, 28/01/2010
Testo quotato

Postato originariamente da TheKaneB:

Windows:
http://msdn.microsoft.com/en-us/library/aa364934%28VS.85%2 ...

Linux:
http://linux.die.net/man/3/getcwd

Se vuoi fare una cosa indipendente dal sistema operativo, crea una tua funzione wrapper che include il codice di entrambe in questo modo:
Codice sorgente - presumibilmente C/C++

  1. #if defined(WIN32)
  2. // ... codice per la versione windows
  3. #else
  4. // ... codice per Linux
  5. #endif



Ciao ;)



Perfetto, grazie:k::k::k::k:

PM Quote