s = "test" '"测试"
c = Len(s) + 1
e = RegSetValueExStr(hKey, m_sValueKey, 0&, ordType, s, c)
当s中含有中文时,RegSetValueExStr()会出错,如"测试"只会写进去一个"测",因为Len()函数把中文也当做一个。而RegSetValueExStr是按照字节存的。该怎么解决呢?
我曾经试过lenB()函数,但LenB()把英文也当做2个字节算。如"test"算8个
c = Len(s) + 1
e = RegSetValueExStr(hKey, m_sValueKey, 0&, ordType, s, c)
当s中含有中文时,RegSetValueExStr()会出错,如"测试"只会写进去一个"测",因为Len()函数把中文也当做一个。而RegSetValueExStr是按照字节存的。该怎么解决呢?
我曾经试过lenB()函数,但LenB()把英文也当做2个字节算。如"test"算8个
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, ByVal szData As String, ByVal cbData As Long) As Long
RegSetValueExStr的声明忘记加了
nLen = Len(s)
For c = 1 To nLen '解决中文问题
If Asc(Mid(s, c, 1)) < 0 Then '如果字符串中有全角字符"
nLen = nLen + 1
End If
Next
nLen = nLen + 1
e = RegSetValueExStr(hKey, m_sValueKey, 0&, ordType, s, nLen)
现在就差接分的了,接下去up都有分,满十个就给分了!!
FAQ已审核。