在 Windows 8 的 Windows API 中添加了一個頭檔案,該檔案似乎充滿了 C 運行時中已經可用的非常基本的字串函式。似乎沒有任何理由將這些函式添加到 Windows API。
我只發現它們是因為它們在 explorer.exe 中使用
為什么要使用這些函式而不是經典的 cstring 函式?
uj5u.com熱心網友回復:
winstring.h標頭為值提供字串處理函式HSTRING,這是一種隨 Windows 運行時引入的字串型別。它是BSTRCOM 中使用的型別的繼承者。
任何一個都與 C 風格的字串明顯不同,因為它們顯式地存盤了長度。wcslen一個推論是,任何一個都可以包含嵌入的 NUL 字符,例如,通過呼叫它們來可靠地獲取字串長度是不可能的。
此外,既不HSTRING也不BSTR依賴于任何給定的語言運行時(例如 CRT)。因此,使用任何一種型別都不會干擾客戶端使用的語言運行時。顯然,這需要在語言運行時之外提供字串處理函式,因此我們有winstring.h(和oleauto.h)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/512751.html
標籤:Capi温纳皮crt
上一篇:為什么這兩個部門不同?
