c# – GetPrivateProfileString不工作.NET
发布时间:2020-12-16 01:55:49 所属栏目:百科 来源:网络整理
导读:我想用GetPrivateProfileString创建一个INI阅读器.我在用什么: public class Config{ [DllImport("kernel32")] private static extern int GetPrivateProfileString(string Section,string Key,string Default,StringBuilder RetVal,int Size,string FilePa
我想用GetPrivateProfileString创建一个INI阅读器.我在用什么:
public class Config { [DllImport("kernel32")] private static extern int GetPrivateProfileString(string Section,string Key,string Default,StringBuilder RetVal,int Size,string FilePath); private string path; public Config(string path) { this.path = path; } public string PopValue(string section,string key) { StringBuilder sb = new StringBuilder(); GetPrivateProfileString(section,key,"",sb,sb.Length,path); return sb.ToString(); } } 现在我的INI文件: [mysql] host=localhost 我用的是: Console.WriteLine(Configuration.PopValue("mysql","host")); 但是,它只打印出一个空行而不是localhost.我究竟做错了什么? 解决方法
如果您可以使用第三方库尝试使用
Nini.
我使用它并且很容易创建/管理复杂的INI文件,并且是开源的. GetPrivateProfileString签名是 DWORD WINAPI GetPrivateProfileString( _In_ LPCTSTR lpAppName,_In_ LPCTSTR lpKeyName,_In_ LPCTSTR lpDefault,_Out_ LPTSTR lpReturnedString,_In_ DWORD nSize,_In_ LPCTSTR lpFileName ); 所以out不是StringBuilder使用String (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |