GetLastError() et FormatMessage() sont des fonctions fournies par microsoft. L'exemp montre juste comment s utiliser et permet d'afficher message d'erreur dans une boite de dialogue. En ce qui te concerne tu peux réduire code à ceci :
| Code : |
Séctionner tout -
Visualiser dans une fenêtre à part |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
const char *dossier="C:\\Intel\\Logs";
if (PathFiExists(LPCWSTR(dossier))==true)
{
cout<<" fichier existe"<<endl;
}
else
{
cout<<" fichier n'existe pas"<<endl;
LPVOID lpMsgBuf; /// zone de mémoire utilisée pour stocker message d'erreur
DWORD dw = GetLastError(); /// récupère l'identifiant de l'erreur
FormatMessage( /// fonction qui rend intelligib message
FORMAT_MESSAGE_ALLOCATE_BUFFER | /// indique que la fonction doit allouer el même l'espace nécessaire
FORMAT_MESSAGE_FROM_SYSTEM | /// inqique que c'est message système
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, /// paramètre inuti dans ce cas
dw, /// identifiant de l'erreur
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), /// langue
(LPTSTR) &lpMsgBuf, /// zone où message sera stocké
0, NULL ); /// paramètres inutis dans ce cas
wcout << "Erreur : " << (LPCTSTR) lpMsgBuf << endl; /// nécessite <wostream>
LocalFree(lpMsgBuf); /// libère la mémoire alloué dans la fonction FormatMessage()
} |
Partager