Esiste un metodo indipendente dalla piattaforma e dal filesystem per ottenere il percorso completo della directory da cui è in esecuzione un programma in C/C++? Da non confondere con la directory di lavoro corrente. (Per favore non suggerite librerie a meno che non siano standard come clib o STL).
(Se non c'è un metodo per piattaforme/filesystem-agnostici, sono benvenuti anche suggerimenti che funzionano in Windows e Linux per specifici filesystem).
Se volete un modo standard senza librerie: No. L'intero concetto di directory non è incluso nello standard.
Se siete d'accordo che qualche dipendenza (portatile) da una lib quasi standard va bene: Usate Boost's filesystem library e chiedete il initial_path().
IMHO questo è quanto di più vicino si possa ottenere, con un buon karma (Boost è un insieme di librerie di alta qualità ben consolidato)
No, non c'è un modo standard. Credo che gli standard C/C++ non considerino nemmeno l'esistenza di directory (o altre organizzazioni di file system).
Su Windows il GetModuleFileName() restituisce il percorso completo del file eseguibile del processo corrente quando il parametro hModule è impostato su NULL. Non posso aiutare con Linux.
Inoltre dovresti chiarire se vuoi la directory corrente o la directory in cui risiede l'immagine/eseguibile del programma. Così com'è la tua domanda è un po' ambigua su questo punto.