一个GetPrivateProfileString读配置文件的坑,避免再次踩坑:
1)期望读到的内容是:
operation="%product%\A.exe" -reinstall:"-name:a -id:123"
2)实际上读到的内容是:
operation=%product%\A.exe" -reinstall:"-name:a -id:123
3)MSDN的有描述:If the string associated with lpKeyName is enclosed in single or double quotation marks, the marks are discarded when the GetPrivateProfileString function retrieves the string.(大意:如果 lpKeyName的字符串内容被单引号或双引号包含,那么GetPrivateProfileString函数在检索字符串时会丢弃这些标记(单引号或双引号)),所以上面的头尾部双引号被去掉了。
4)正确的配置,在字符串头尾再各加一个双引号:
operation=""%product%\A.exe" -reinstall:"-name:a -id:123""