Partager via


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 OemToCharla 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 OemToCharBuffla 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);