GetPrivateProfileString() 当 key 包含空格时,需要进行转义
使用 GetPrivateProfileString() 方法可以方便的读取 ini 格式文件中的内容,如:
[section]
tommy = worker
使用 C# 读取如下:
1. 先引入 GetPrivateProfileString() 方法
[DllImport("kernel32.dll", EntryPoint = "GetPrivateProfileString")] public static extern int GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);
2. 调用
string keyName = "tommy"; string filePath = @"D:\tommy.ini"; StringBuilder sb = new StringBuilder(255); GetPrivateProfileString(section, keyName, "", sb, 261, filePath);
但是当 key 包含空格时,ini 文件就应该如下:
[section] "tommy huang" = worker
此时的 C# 需要对 key 进行转义:
string keyName = "tommy huang"; keyName = "\"" + keyName + "\"";//进行转义 string filePath = @"D:\tommy.ini"; StringBuilder sb = new StringBuilder(255); GetPrivateProfileString(section, keyName, "", sb, 261, filePath);
总结:
如果通过 GetPrivateProfileString() 方法读取 ini 格式文件时,如果 key 包含空格,先进行转义 "\"" + key + "\"";