Avertissement C28159
Envisagez d’utiliser
*function_name_1*
au lieu de*function_name_2*
. Raison : raison
Cet avertissement se produit lorsque vous utilisez une fonction qui équivaut sémantiquement à un autre appel de fonction préféré.
Notes
C28159 est un message d’avertissement général ; l’annotation __drv_preferredFunction
a été utilisée (éventuellement avec une annotation conditionnelle __drv_when
) pour marquer une mauvaise pratique de codage.
Nom de l’analyse du code : USE_OTHER_FUNCTION
Exemple
L’exemple de code suivant génère cet avertissement. Ce problème est dû à l’utilisation de , qui ne valide pas la taille de OemToChar
la mémoire tampon :
char buff[MAX_PATH];
OemToChar(buff, input); // If strlen(input) > MAX_PATH, this call leads to buffer overrun
L’exemple de code suivant évite cet avertissement à l’aide de l’alternative recommandée, qui prend en charge OemToCharBuff
la taille de la mémoire tampon de destination et limite la copie de manière appropriée :
char buff[MAX_PATH];
OemToCharBuff(buff, input, MAX_PATH);