Тема: Переход на ObjectARX2007. Конвертация const char* -> const ACHAR*
Соотвественно мне надо чтоб мое приложение могло собираться как в 2002/2004/2005/2006 так и в 2007.
Соотвественно есть куча методов типа
RegisterCommand(const char* name....)
{
cmdReg->registerCommand(name, ...);
}
Соотвественно хочу воспользоваться одним из советов Autodesc, все оставить не в Unicode-e, а вызовы ObjectARX функций const char* перевести на const wchar_t* (оно же const ACHAR*).
Типа надо ввести некую переменную IS_OBJECT_ARX_2007
#define IS_OBJECT_ARX_2007 1
(в зависимости от того к чему компиляем ставим в коде 0 или 1)
#ifdef IS_OBJECT_ARX_2007
# define STR_CHAR_CNVR(X) (const wchar_t*)WSTRING(X)
#else
# define STR_CHAR_CNVR(X) X
#endif
Соотвественно переделываю метод как:
RegisterCommand(const char* name....)
{
cmdReg->registerCommand(STR_CHAR_CNVR(name), ...);
}
Соответственно вопрос по WSTRING. Т.е. я могу сделать некий класс который получает в конструктор const char*, переводит ее в wchar_t[] и имеет оператор (const wchar_t*)
Первый вопрос: Может мне не изобретать велосипед (т.е. не писать это самому), а уже есть нечто подобное в стандартной библиотеке? Т.е. из строки const char* делать строку const wchar_t*?
Второй впрос: Есть ли какой метод наподобии strcpy(const char* origBuf, wchar_t* destBuf )? Или копировать строку посимвольно?
Сорри за простоту вопросов, :) Просто немного лень рыться в хелпе, раньше с такими ситуациями не сталкивался и может кто имеет хороший совет и полезную информацию на эту тему.
С Уважением, Константин.