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

What is the size of a Word in the context of the mbstowcs_s function SizeInWords parameter?

本文关键字:Word 多少 上下文 函数 SizeInWords 参数 mbstowcs      更新时间:2023-10-16

在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缓冲区中的最大宽字符数,不包括终止的null或_TRUNCATE。

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

有什么想法吗?

通常一个字的意思是16位。

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