有关 Microsoft 多字符串格式的详细信息

发布于 2024-09-15 23:52:45 字数 536 浏览 7 评论 0原文

其一些API函数 Microsoft 使用“多字符串”格式来指定字符串列表。

据我了解,多字符串是连接的空终止字符串的空终止缓冲区。但这也可以解释为字符串列表,由空字符分隔并以两个空字符结尾。

这里有一个例子。由以下项目组成的列表:

"apple", "banana", "orange"

变为:

apple\0banana\0orange\0\0

但现在我想知道:

空列表 将如何表示?

会是:

\0

或者:

\0\0

我未能找到准确的文档来澄清这一点。有什么线索吗?

In some of its API function Microsoft use the "multi-string" format to specify a list of strings.

As I understand it, a multi-string is a null-terminated buffer of concatenated null-terminated strings. But this can also be interpreted as a list of strings, separated by a null character and terminated by two null characters.

Here comes an example. A list composed of the following items:

"apple", "banana", "orange"

Becomes:

apple\0banana\0orange\0\0

But now I wonder:

How would an empty list be represented ?

Would it be:

\0

Or:

\0\0

I failed to found an accurate documentation that clarifies this. Any clue ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夜还是长夜 2024-09-22 23:52:45

它将是\0

Raymond Chen 在他的博客上描述了它的工作原理:字符串列表以空字符串终止。如果列表中的第一个字符串为空,则列表本身也为空。

It would be \0.

Raymond Chen describes how this works on his blog: the list of strings is terminated by an empty string. If the first string in the list is empty, the list itself is empty.

千秋岁 2024-09-22 23:52:45

如果您正在使用这些,很多年前,我编写了一个适用于它们的 STL 样式迭代器:

http: //noveltheory.com/iterators/Iterator_N3.htm

If you are working with these, many years ago, I wrote an STL style iterator which works on them:

http://noveltheory.com/iterators/Iterator_N3.htm

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文