Ну, в принципе при записи через Write_Data в файл нули не отсекает -
Code
#Include "window9.bi"
Dim As String str_0 = "aaa" & Chr(0) &Chr(0) &Chr(0) & "bbb" & Chr(0)
var byte_0 = @str_0
#Print TypeOf(byte_0)
? "Test input ZERO: " & Chr(0)
? str_0
? Len(str_0)
? *byte_0
? Len(*byte_0)
*byte_0 += "ccc" & Chr(0) &Chr(0) &Chr(0)
Var handle1=Create_File("test1.txt")
If handle1 Then
Write_String(handle1,*byte_0)
EndIf
Close_file(handle1)
Var handle2=Create_File("test2.txt")
If handle1 Then
Write_Data(handle2,StrPtr(*byte_0),len(*byte_0))
EndIf
Close_file(handle2)
Sleep : End
так что со String вполне можно работать, как с байтовым массивом, но вот как получить тогда нужный байт по срезу(например, для прохода в цикле)?
Code
Dim As String str_0 = "aaa" & Chr(0) &Chr(0) &Chr(0) & "bbb" & Chr(0)
var pstr_0 = @str_0
? str_0[1]
? pstr_0[1] ' Peek(String,byte_0+1) ???
Sleep : End