Search code examples
c++cstringmsdn

Details on the Microsoft multi-string format


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 ?


Solution

  • \0