一个头文件被添加到Windows 8中的Windows中,该文件似乎充满了非常基本的字符串函数,这些函数在C运行时中都是可用的。似乎没有任何理由将这些函数添加到Windows中。
我发现它们是因为它们被用于explorer.exe
为什么要使用这些函数而不是经典的cstring函数?
发布于 2022-10-02 05:04:49
winstring.h头为HSTRING值提供字符串处理功能,这是Windows引入的字符串类型。它是COM中使用的BSTR类型的继承者。
这两种类型的字符串都明显不同于C风格的字符串,因为它们显式地存储长度。其中的一个推论是,任何一个字符都可以包含嵌入的NUL字符,因此不可能通过调用字符串上的wcslen来可靠地获得字符串长度。
此外,HSTRING和BSTR都不依赖于任何给定的语言运行库(如CRT)。因此,这两种类型的使用都不会干扰客户端使用的语言运行库。显然,这需要在语言运行库之外提供字符串处理功能,因此我们有winstring.h .h(和oleauto.h)。
https://stackoverflow.com/questions/73922449
复制相似问题