Public Function ReadString(Section As String, key As String, Size As Long) As String
    Dim ReturnStr As String
    Dim ReturnLng As Long
    ReadString = vbNullString
    If NoIniFile() Then
        Exit Function
    End If
    ReturnStr = Space(1024)
    ReturnLng = GetPrivateProfileString(Section, key, vbNullString, ReturnStr, Size, IniFileName)
    ReadString = Left(ReturnStr, ReturnLng)
End Function
读出的字符串是超过实际长度的字符串 后面带一串空格 怎么回事

解决方案 »

  1.   

    ReturnLng 返回的是字节数,没有中文吧,用
    ReadString = Left(ReturnStr, ReturnLng/2)
      

  2.   

    ReturnLng = GetPrivateProfileString(Section, key, vbNullString, ReturnStr, Size, IniFileName)    If ReturnLng > 0 Then
            ReturnStr = Replace(RTrim(ReturnStr), Chr(0) & Chr(0), "")
            If Right(ReturnStr, 1) = Chr(0) Then
                ReadString = Left(ReturnStr, Len(ReturnStr) - 1)
            Else
                ReadString = ReturnStr
            End If
        End If