Вход на сайт
как победить sprintf ?
503 просмотров
Перейти к просмотру всей ветки
в ответ Murr_0002 03.06.17 19:58, Последний раз изменено 04.06.17 09:50 (anly)
взяв имплементацию спринтf() из какой-нибудь библиотеки и добавив контроль типов получишь что надоа как добавить контроль типов?
Решение выше можно слегка улучшить. А именно не делать новое имя sprintf_my, а использовать namespace:
namespace XX
{
template<class T>
void sprintf_s(char* buf, size_t size, const char* format, T t)
{
check_t(t);
::sprintf_s(buf, size, format, t);
}
}
using namespace XX;
это позволит обойтись без переименования каждого вызова в уже существующем коде.
(Правда и недостаток есть: можно забыть сделать #include "my_sprintf.h")
Проклят нарушающий межи ближнего своего (Втор.27:17)