Eventuali duplicati:
how to find the location of the executable in CUn eseguibile può scoprire il proprio percorso? (Linux)
Vorrei un eseguibile per essere in grado di scoprire il proprio percorso; Ho la sensazione che la risposta sia "non puoi farlo", ma vorrei che fosse confermata!
Non penso di poter utilizzare getcwd()
, perché potrei non eseguirlo dalla stessa directory. Non penso di poter usare argv[0]
, perché si basa sulla stringa utilizzata per eseguirla. Ci sono altre opzioni?
Razionale
Il vero problema è che mi piacerebbe mettere un eseguibile da qualche parte su un file system, e inserire un file predefinito di configurazione accanto ad esso. Voglio che l'eseguibile sia in grado di leggere il suo file di configurazione in fase di esecuzione, ma non voglio inserire questa posizione nel file eseguibile, né voglio che l'utente debba impostare le variabili di ambiente. Se c'è una soluzione migliore per questa situazione, io sono tutte le orecchie ...
"Se c'è una soluzione migliore a questa situazione", Sì, fai come fa il resto del mondo, metti il file di configurazione nella directory/etc. – Anders
@Steve: Sì, la risposta a questa domanda è esattamente quello che sto cercando. Grazie! –
è una risposta modello, lieto che abbia aiutato –