Existe um método independente de plataforma e independente de sistema de arquivos para obter o caminho completo do diretório de onde um programa está sendo executado usando C / C ++? Não deve ser confundido com o diretório de trabalho atual. (Por favor, não sugira bibliotecas, a menos que sejam padrão, como clib ou STL.)
(Se não houver um método independente de plataforma / sistema de arquivos, sugestões que funcionem no Windows e Linux para sistemas de arquivos específicos também são bem-vindas.)
argv[0]
, a técnica dependerá muito do sistema operacional.
#include <windows.h>
, o Windows coloca automaticamente um char*
no caminho do executável _pgmptr
. Você não precisa chamar funções extras ou assumir que não há lixo se estiver trabalhando apenas no Windows.
_pgmptr
. A documentação do MSDN afirma que as variáveis _pgmptr
e _wpgmptr
estão obsoletas e você deve usar a função _get_pgmptr(char**)
ou _get_wpgmptr(wchar_t**)
não. MSDN