Maison > Article > développement back-end > Pourquoi GetCurrentDirectory() lève-t-il une exception lors de la tentative de création d'un fichier ?
Votre code cherche à créer un fichier dans le répertoire actuel, mais une exception se produit au niveau de GetCurrentDirectory(). Pour comprendre le problème, examinons les paramètres utilisés :
De plus, la récupération du chemin de l'exécutable à l'aide de GetCurrentDirectory() n'est pas fiable. Utilisez plutôt la fonction GetModuleFileName :
TCHAR buffer[MAX_PATH] = { 0 }; GetModuleFileName(NULL, buffer, MAX_PATH);
Pour une approche plus complète, considérez la fonction suivante qui extrait le répertoire sans le nom du fichier :
#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); }
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!