Я новичок в C ++, так что это может быть нубийским вопросом; У меня есть следующая функция:
#define SAFECOPYLEN(dest, src, maxlen) \
{ \
strncpy_s(dest, maxlen, src, _TRUNCATE); \
dest[maxlen-1] = '\0'; \
}
short _stdcall CreateCustomer(char* AccountNo)
{
char tmpAccountNumber[9];
SAFECOPYLEN(tmpAccountNumber, AccountNo, 9);
BSTR strAccountNumber = SysAllocStringByteLen(tmpAccountNUmber, 9);
//Continue with other stuff here.
}
Когда я отлаживаю с помощью этого кода, я передаю номер счета "A101683", например. Когда он выполняет часть SysAllocStringByteLen (), номер счета становится комбинацией китайских символов ...
Кто-нибудь может пролить свет на это?