Tôi vừa mới giải quyết xung quanh bằng cách gọi GetPrivateProfileString và GetPrivateProfileSection trong kernel32 từ .NET và bắt gặp một số điều kỳ lạ mà tôi không hiểu.GetPrivateProfileString Oddity
Hãy bắt đầu với encantation này:
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
Nếu tôi vượt qua một lpApplicationName (phần), không có lpKeyName và không lpDefault, tôi sẽ nhận được tất cả các phím cho phần đó, và thực sự tôi làm: 50% thời gian.
Nếu tệp ini có lpApplicationName bắt đầu trên dòng đầu tiên, bộ đệm sẽ không trả về gì cả. Nếu số liệu thống kê lpApplicationName trên dòng thứ hai trong tệp, nó trả về giá trị mong đợi.
Lúc đầu, mặc dù nó là vấn đề của việc sử dụng phiên bản W và Unicode trong phần Khai báo, nhưng việc thay đổi chúng dường như không có hiệu lực.
Tôi đang thiếu gì?
Có cách nào để yêu cầu studio ngừng viết BOMS cho các tệp thử nghiệm đơn giản không? – claco
Tôi đã không nhận thức được thực tế là BOM creep trong lén lút. Tôi gần như đã dành một giờ để tự hỏi điều gì đang xảy ra trước khi tôi tìm thấy câu trả lời của bạn. Tuyệt quá! –