Skip to content

StrPtr

返回String底层缓冲区的地址,作为LongPtr

语法:StrPtr( String )

String
必需 需要获取缓冲区地址的String

twinBASIC将String存储为Unicode(UTF-16) BSTR——一个长度前缀缓冲区,StrPtr返回其起始位置。返回值指向第一个字符,而不是其前面的四字节长度前缀。

如果StringvbNullString,结果为零。对于空字符串"",结果是一个有效(但零长度)缓冲区的地址;将其传给区分空指针和空字符串的API,是在声明中优先使用vbNullString而非""的常见原因。

该指针仅在String变量保持活动且未被重新赋值期间有效。将其视为借用,而非所有权。

示例

vb
Dim s As String
s = "Hello"
Debug.Print StrPtr(s)            ' e.g. 1234567890 — varies per run

Dim ch As Integer
GetMem2 StrPtr(s), ch
Debug.Print Chr$(ch)             ' "H"

另请参阅

twinBASIC及其LOGO版权为作者"韦恩"所有