我是 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() 部分时,帐号变成了中文符号的组合......
任何人都可以对此有所了解吗?