Вот исходник, показывающий подробно, как это делается:
Local str$ = "Hello" Print str Local p:IntPtr = IntPtr(Varptr(str)) Local pchar:ShortPtr = ShortPtr(p[0]) pchar :+ 6'this offset depends on String structure pchar[0]=Asc("H") pchar[1]=Asc("e") pchar[2]=Asc(" ") pchar[3]=Asc("h") pchar[4]=Asc("e") Print str |
Или вот так в одну строку можно получить указатель на первый символ:
Local pchar:Short Ptr = Short Ptr(Int Ptr(Varptr(str))[0]) + 6
Как видно из примера, мы просто получаем указатель на первый элемент строки во внутренней структуре строкового типа языка.
Ссылка на статью с другими советами: http://blitzmax.3dn.ru/publ/3-1-0-8