Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > warning C4996: '_itow'


Автор: Andrey44 3.8.2007, 11:26
В чём проблема, почему ругается ? smile 

Раньше не было , поставил VS2005 теперь появилось smile 

Код

TCHAR temp[5];
int digit = 100;
_itow(digit, temp, 10);


warning C4996: '_itow': This function or variable may be unsafe. Consider using _itow_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files\Microsoft Visual Studio 8\VC\include\wchar.h(878) : see declaration of '_itow'

Автор: _hunter 3.8.2007, 11:39
проблема в том, что в 2005-й студии все старое (unsafe) CRT пометили как deprecated (о чем и говорит сообщение).

Автор: FiMa1 3.8.2007, 11:45
Цитата(Andrey44 @ 3.8.2007,  11:26)
warning C4996: '_itow': This function or variable may be unsafe. Consider using _itow_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

Студия описывает эту функцию как ненадежную (unsafe), вместо нее предлагая использовать _ltow_s, которая разработана с учетом повышения безопасности (These are versions of _ltoa, _ltow with security enhancements as described in Security Enhancements in the CRT. MSDN).
Для отключения генерации данного вида сообщений используй:
Код
#pragma warning(disable : 4996)

Больше информации касательно повышений безопасности можно, соответственно, найти в разделе Security Enhancements in the CRT MSDN...

Автор: Andrey44 3.8.2007, 12:06
Спасибо FiMa1 за _ltow_s
Код

#pragma warning(disable : 4996)

Нельзя мне такое использовать smile 
Ещё раз спасибо smile 

Автор: zkv 3.8.2007, 12:58
Цитата(Andrey44 @  3.8.2007,  11:26 Найти цитируемый пост)
TCHAR temp[5];
int digit = 100;
_itow(digit, temp, 10);

не по теме отступление. Код нелогичен, вместе с типом TCHAR следует использовать соответствующие функции (на самом деле макросы, ну ладно smile), в данном случае: _itot(), даже itot_s(). Это необязательно, но такой код свидетельствует о том, что программист до конца не понимает, что творит  smile 

Автор: bsa 3.8.2007, 14:20
zkv, как ты мог заметить, он не только не знает, что творит, но и прочесть не может то, что ему компилятор говорит. По-моему, и без перевода понятно на что компилятор ругнулся.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)