【发布时间】:2010-08-26 15:13:38
【问题描述】:
在some of its API functionMicrosoft 中使用“多字符串”格式来指定字符串列表。
据我了解,多字符串是连接以空字符结尾的字符串的以空字符结尾的缓冲区。但这也可以解释为字符串列表,由一个空字符分隔并以两个空字符结尾。
这里有一个例子。由以下项目组成的列表:
"apple", "banana", "orange"
变成:
apple\0banana\0orange\0\0
但现在我想知道:
空列表如何表示?
会是:
\0
或者:
\0\0
我没有找到准确的文档来说明这一点。有什么线索吗?
【问题讨论】:
-
“字符串列表”中的最后一个字符串是零长度字符串。一个 \0 就足以终止。
-
想知道这如何与 UTF-8 及其多字节字符一起工作?
-
Windows API 不支持 UTF-8 :-( 但如果支持,什么都不会改变,因为 UTF-8 多字节字符从不包含 \0。