我只是在修补kernel32中的.NET的GetPrivateProfileString和GetPrivateProfileSection,并发现了一些奇怪的东西,我不明白。GetPrivateProfileString Oddity
让我们先从这个encantation:
Private Declare Unicode Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringW" (_
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString() As Char, _
ByVal nSize As Int32, _
ByVal lpFileName As String) As Int32
如果我通过一个lpApplicationName(部分),没有lpKeyName没有lpDefault,我应该得到的所有该节的钥匙,而事实上我做的:50%的时间。
如果ini文件的第一行开始有lpApplicationName,则缓冲区不返回任何内容。如果lpApplicationName在文件的第二行进行统计,它将返回预期值。
起初我虽然是在Declare中使用W版本和Unicode,但改变这些似乎没有效果。
我错过了什么?
有没有办法让工作室停止为简单测试文件编写BOMS? – claco 2008-09-24 01:16:09
我没有意识到BOM暗中偷偷的事实。我几乎花了一个小时想知道发生了什么,然后才找到答案。大! – 2010-11-20 09:24:24