在Windows API函数mbstowcs_s的上下文中,我很难确定Word的确切大小。这是来自MSDN的相关信息以及链接。
mbstowcs_s,_mbstowcs_s_l
将多字节字符序列转换为相应的宽字符序列。 mbstowcs,_mbstowcs_l的版本具有CRT的“安全功能”中所述的安全性增强功能。
参量
[out] pReturnValue-转换的字符数。
[out] wcstr-转换后的宽字符串缓冲区的地址。
[in] sizeInWords-wcstr缓冲区的大小(以字为单位)。
[in] mbstr-空终止多字节字符序列的地址。
[in] count-要存储在wcstr缓冲区中的最大宽字符数,不包括终止null或_TRUNCATE。
这是MSDN页面的链接:https://msdn.microsoft.com/en-us/library/eyktyxsx.aspx
有任何想法吗?
最佳答案
通常,一个字表示16位。
为了确保这一点,请分配100个字节的缓冲区,并全部填充0xff。然后为sizeInWords传递16和至少16个字符的mbstr。调用完成后,在调试器中检查wcstr。如果我是对的,则缓冲区的前32个字节将具有字符值,其余的仍为0xff。 (当然,这忽略了wcstr的某些值可能为0xff的事实)
关于c++ - 在mbstowcs_s函数SizeInWords参数的上下文中,Word的大小是多少?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28862762/