У меня странная проблема. Я использую sprintf или swprintf в соответствии с определением сборки с Юникодом или без него. Я обернул эти функции в свою собственную функцию так:
int mysprintf( MCHAR* str,size_t size, const MCHAR* format, ... )
{
#ifdef MYUNICODE
return swprintf( str, size, format);
#else
return snprintf( str, format);
#endif
}
Эти функции находятся в классе String, который является отдельным проектом и скомпилирован как библиотека. Я использую это в другой программе. Теперь, если я использую mysprintf ()
msprintf(str,10, _M("%d,%d"),height,width);
Я получаю некоторые значения мусора в строковом буфере. Но если я напрямую вызываю функцию swprintf из программы, она работает нормально. Я определил UNICODE в сборке, и вызывается функция swprintf, но она заполняет некоторые значения мусора. Я не понимаю, что происходит не так.
Спасибо
Amit