StrPtr
返回String底层缓冲区的地址,作为LongPtr。
语法:StrPtr( String )
- String
- 必需 需要获取缓冲区地址的String。
twinBASIC将String存储为Unicode(UTF-16) BSTR——一个长度前缀缓冲区,StrPtr返回其起始位置。返回值指向第一个字符,而不是其前面的四字节长度前缀。
如果String为vbNullString,结果为零。对于空字符串"",结果是一个有效(但零长度)缓冲区的地址;将其传给区分空指针和空字符串的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"