Maison >développement back-end >C++ >Comment récupérer le chemin du répertoire actuel en C ?
Lors de la création d'un fichier dans le répertoire actuel où le programme s'exécute, il est crucial d'obtenir le chemin correct. Cependant, dans votre code, vous rencontrez une exception lors de GetCurrentDirectory().
L'exception est probablement causée par un argument non valide transmis à GetCurrentDirectory. Vous devez allouer un tampon pour stocker le chemin du répertoire avant d'appeler cette fonction.
Pour récupérer le chemin du fichier exécutable, pensez à utiliser GetModuleFileName à la place :
TCHAR buffer[MAX_PATH] = { 0 }; GetModuleFileName(NULL, buffer, MAX_PATH);
Pour obtenir le chemin du répertoire sans le nom du fichier, vous pouvez utiliser la fonction suivante :
#include <windows.h> #include <string> #include <iostream> std::wstring ExePath() { TCHAR buffer[MAX_PATH] = { 0 }; GetModuleFileName(NULL, buffer, MAX_PATH); std::wstring::size_type pos = std::wstring(buffer).find_last_of(L"\/"); return std::wstring(buffer).substr(0, pos); } int main() { std::cout << "my directory is " << ExePath() << "\n"; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!