Вопрос № 94419: Здравствуйте , уважаемые эксперты!
Вопрос по Borland Developer Studio 2006
когда используются заголовочные из MFC and ATL
в них встречается ф-ция sprintf
Борландовский компилятор пишет
[C++ Error] crtdbg.h(55): E2451 Undefined sy...
Вопрос № 94.419
Здравствуйте , уважаемые эксперты!
Вопрос по Borland Developer Studio 2006
когда используются заголовочные из MFC and ATL
в них встречается ф-ция sprintf
Борландовский компилятор пишет
[C++ Error] crtdbg.h(55): E2451 Undefined symbol 'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA'
и что делать? как заставить его не быть враждебным к sprintf ?
Отправлен: 09.07.2007, 01:11
Вопрос задал: soff (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Maxim V.G.
Здравствуйте, soff!
Если мне не изменяет память то функция int sprintf ( char * str, const char * format, ... ) находиться не в хедерах из MFC и ATL, а в хедере stdio.h - библиотека стандартного ввода-вывода. Вот тут можно почитать про эту функцию более подробно: http://www.cplusplus.com/reference/clibrary/cstdio/sprintf.html. Но в билдере для таких целей есть другие функции. Например StrToFloat() для обратного преобразования FloatToStr(). Такие же функции есть и для других типов данных.
--------- Жить вредно - от неё умирают
Ответ отправил: Maxim V.G. (статус: 2-ой класс)
Ответ отправлен: 09.07.2007, 10:58 Оценка за ответ: 3 Комментарий оценки: спасибо за желание помочь. Но вопрос был как обойти это ограничение Студии2006, т.к.BCB6 компилировал sprintf без проблем. Прикол в том, что stdio у меня инклюде, но студия все равно выдает вышеприведенное сообщение. В хэлпе пишут, что эта(и подобные)функции устарели и небезопасны... Но я же не могу редактировать все ствндартные заголовки!