请教读取ini文件的api函数的使用问题
请教读取ini文件的api函数的使用问题 以下是一个读取ini文件数据的函数,有几个问题请教一下
1.我的变量 strtmp 应该预留多少的字符呀,是应该全部填充空格呀,还是用 ascii码 0 来填充呢?,
关键是预留多少个字符,有没有规定,还是随便设?
2.如果用事先填充的是 null,即ascii码的0,是不是就不需要截尾了.
3.如果进行截尾,最好的实现方法是什么呢?以下用循环的方法行吗?
'ascii码为0对应的为空字符
' For i = 1 To Len(strtmp)
' If Asc(Mid(strtmp, i, 1)) <> 0 Then
' strTmp2 = strTmp2 + Mid(strtmp, i, 1)
' End If
' Next i
因为这个函数也是网上找的,所以一些地方不明白.当然了,这个函数需要事先声明API函数,我这里省略了.
Public Function GetIniKey(strSection As String, strKey As String) As String
On Error GoTo errhandle
Dim strtmp As String
Dim lngRet As String
Dim i As Integer
Dim strTmp2 As String
'先将strtmp定义成1024个字符的长度,保证一定能装下返回的字串
'strtmp = String$(1024, Chr(32))
strtmp = String$(1024, 0)
lngRet = GetPrivateProfileString(strSection, strKey, "", strtmp, Len(strtmp), strINI)
'strtmp现在已经是返回的字串了,所以要进行截尾处理
strtmp = Trim(strtmp)
'strTmp2 = ""
'ascii码为0对应的为空字符
' For i = 1 To Len(strtmp)
' If Asc(Mid(strtmp, i, 1)) <> 0 Then
' strTmp2 = strTmp2 + Mid(strtmp, i, 1)
' End If
' Next i
GetIniKey = strtmp
GetIniKey = strtmp2
Exit Function
errhandle:
GetIniKey = ""
End Function