Tips searchrsearchisearchi Earn g Online Training ssearchac Free Tips esearchr Today hsearch
searchs Today a
c Forex Money Frsearche searchs Forex a
chsearch o Forex a
Project e Using r Project h Project o Training esearch s Forex arh Forex Forex r Training e
M Tips n Training y Payday Free a Tips d
y Using For Today xsearchsearchUssearchn
Using Online a Training n Training Ti Training s Today Free F Today e
searchssearchac Forex Forex F Payday r Payday x Earn M Today ney
目錄 |
C程序語言本身原並不支援字串資料結構。字元串通常以一個字元數組(或稱陣列)或一個指向字元資料的指標指標來表達。由於C語言的數組不包含其長度的資訊,故亦無法表示所載之字元串之長度。C語言社群對此通用之解決方案為於字元串末端增添一數值0的字元。C語言的標準程序庫中的字元串處理功能亦以此為基礎。C-Style 字元串特點為不直接包含長度資訊。要取得字元串之長度,就必須從頭到尾數算字元數目,直到遇到字元0為止。由於不設長度資訊,故C-style 字元串的長度理論上可以無上限。
Pascal程序語言採取另一種方向處理字元串。在儲存字串的記憶空間的開首,儲存一固定長度整數以表達其長度。如此Pascal-style 字元串不需要在最後增添額外字元以標明其結束。但由於字元串開首儲存字串長度的空間有限,故Pascal-style 的字串長度有上限。但在獲得字串長度方面有速度優勢。
BSTR 字元串結合了C-style 字元串和Pascal-style字元串。它在開首儲存了字元串長度,在字元串結尾以字元0識別。和pascal-style 字元串不同,指向BSTR字元串的指標指向第一個字元,而非開首的字串長度。故此適用於讀取C-style 字元串的程序庫同樣適用於BSTR字元串(但寫入則另作別論)。如果獲得其長度,則以其指標地址減去字元串長度數值所需空間,以獲得其字串長度之地址。