这样做当然不能显示
因为读取字符串是以\0结尾的(C语言字符串标准)
而MsgBox实际上是调用系统的MessageBox函数
碰到\0认为字符串结束
所以不会继续显示应该这样写:
str=Left$(str,Instr(str,Chr$(0))-1) '查找\0
msgbox RTrim(str) & "abcd" '记得去掉定长字符串的多余空格
因为读取字符串是以\0结尾的(C语言字符串标准)
而MsgBox实际上是调用系统的MessageBox函数
碰到\0认为字符串结束
所以不会继续显示应该这样写:
str=Left$(str,Instr(str,Chr$(0))-1) '查找\0
msgbox RTrim(str) & "abcd" '记得去掉定长字符串的多余空格
dim str as string
str = Space(256)
getprivateprofilestring "system","version","",str,len(str),app.path & "\ini.ini"
str=Left$(str,Instr(str,Chr$(0))-1)
msgbox str & "abcd"
end sub注意问题:
1、用dim .. as string * 256后系统自动分配内存,所以字符处理的时候可能有问题
2、注意字符穿的末尾的空字符(vbNullChar,就是Chr(0))
dim str as string
str = Space(256)
getprivateprofilestring "system","version","",str,len(str),app.path & "\ini.ini"
str=Trim(Left$(str,Instr(str,Chr$(0))-1))
msgbox str & "abcd"
end sub
上边少了“API”。我发早了对不起!