Je suis en train d'obtenir une simple morceau de code que je trouve sur un site Web pour travailler dans VC++ 2010 sur windows vista 64:Stack autour de la variable 'xyz' a été corrompu
#include "stdafx.h"
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
DWORD dResult;
BOOL result;
char oldWallPaper[MAX_PATH];
result = SystemParametersInfo(SPI_GETDESKWALLPAPER, sizeof(oldWallPaper)-1, oldWallPaper, 0);
fprintf(stderr, "Current desktop background is %s\n", oldWallPaper);
return 0;
}
il ne compile, mais quand je le lance, je reçois toujours cette erreur:
Run-Time Check Failure #2 - Stack around the variable 'oldWallPaper' was corrupted.
Je ne sais pas ce qui va mal, mais j'ai remarqué, que la valeur de oldWallPaper ressemble à quelque chose comme « C \ 0: \ 0 \ 0U \ 0s \ 0e \ 0r \ 0s [...] "- Je me demande d'où viennent tous les \ 0.
- Un de mes amis a compilé sur Windows XP 32 (également VC++ 2010) et est capable de fonctionner sans problèmes
des indices/astuces/opinions?
merci
Vous ne devriez pas utiliser 'sizeof' sur un tableau, il ne fonctionnera pas sur un tableau que vous avez' malloc' 'd. – bobobobo