Je commence avec cpp et j'ai suivi des exemples différents pour apprendre d'eux, et je vois que la taille de la mémoire tampon est définie de différentes façons, par exemple:Taille du tampon: N * sizeof (type) ou sizeof (var)? C++
char buffer[255];
StringCchPrintf(buffer, sizeof(buffer), TEXT("%s"), X);
VS
char buffer[255];
StringCchPrintf(buffer, 255*sizeof(char), TEXT("%s"), X);
Laquelle est la bonne façon de l'utiliser?
J'ai vu cela dans d'autres fonctions comme InternetReadFile, ZeroMemory et MultiByteToWideChar.
'sizeof (char)' retourne toujours 1 en C, quelle que soit la plate-forme (et même si la taille réelle est moindre, comme un grignotage). – zneak
Je devrais également noter que 'sizeof (char)' renvoie 1 même dans les cas où 'char' est plus de 8 bits. – zneak
Le dernier "sizeof (buffer)" pour le tableau TCHAR est faux! Utilisez _countof() au lieu de _sizeof() ou utilisez sizeof (buffer)/sizeof (TCHAR). – Stefan