Я пишу код в VS2010, и я вижу, что после компиляции компилятор дает мне предупреждение C4996 ( "Эта функция или переменная может быть небезопасной" ) для вызовов strcpy и sprintf.
Однако я не мог получить похожие предупреждения для memcpy (и, возможно, в коде есть несколько подобных "небезопасных" вызовов функций)
int _tmain(int argc, _TCHAR* argv[])
{
char buf1[100], buf2[100];
strcpy (buf1, buf2); // Warning C4996 displayed here asking to use strcpy_s instead
memcpy (buf1, buf2, 100); // No warning here asking to use memcpy_s
memcpy_s(buf1, 100, buf2, 100);
return 0;
}
Почему это так? Как включить предупреждение C4996 для всех возможных небезопасных вызовов в моем коде?