在mbstowcs_s函数SizeInWords参数的上下文中Word的大小是多少?

时间:2015-03-04 19:06:06

标签: c++ windows api wchar tchar

我无法在Windows API函数mbstowcs_s的上下文中确定Word的确切大小。以下是MSDN和链接的相关信息。

  

mbstowcs_s,_mbstowcs_s_l

     

将多字节字符序列转换为相应的宽字符序列。具有安全增强功能的mbstowcs,_mbstowcs_l的版本,如CRT中的安全功能中所述。

     

参数

     

[out] pReturnValue - 转换的字符数。

     

[out] wcstr - 生成的转换宽字符串的缓冲区地址。

     

[in] sizeInWords - 单词中wcstr缓冲区的大小。

     

[in] mbstr - 一系列以null结尾的多字节字符的地址。

     

[in] count - 要存储在wcstr缓冲区中的最大宽字符数,不包括终止空值或_TRUNCATE。

以下是MSDN页面的链接:https://msdn.microsoft.com/en-us/library/eyktyxsx.aspx

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

通常一个字表示16位。

为了确保,分配一个让我们说100字节的缓冲区,用0xff填充它们。然后传递16为sizeInWords和mbstr至少16个字符。在调试器中,在调用完成时检查wcstr。如果我是对的,缓冲区的前32个字节将具有字符值,其余的仍然是0xff。 (当然这忽略了wcstr的某些值可能是0xff的事实)