我正在尝试读取具有内容的c ++中的.initconfiguration文件。
[IP地址]
IPADDRESS = 169.254.115.22
[ScanConfiguration]
- Windows(.lnk)快捷方式API?
- 我怎样才能得到像CPU使用率等Windows数据?
- 如何获得Windows解锁事件在C#窗口应用程序?
- ProcessStartInfo.UseShellExecute有什么大不了的?
- .NET让C#程序在后台运行,并在启动像反病毒
Scanfrequency = 2500
ScanResolution = 2500
由startAngle = 700000
StopAngle = 1100000
直到现在,我已经使用这个代码来读取数据。 我的项目是Unicode字符集,因此在string值之前使用L.
int iScanFreq =GetPrivateProfileInt(L"ScanConfiguration",L"Scanfrequency", 2500, L"filename.ini"); int iScanRes =GetPrivateProfileInt(L"ScanConfiguration",L"ScanResolution", 2500, L"filename.ini"); int iStartAngle =GetPrivateProfileInt(L"ScanConfiguration",L"StartAngle", -450000, L"filename.ini"); int iStopAngle =GetPrivateProfileInt(L"ScanConfiguration",L"StopAngle", 2250000, L"filename.ini");
但我只获取variables中的默认值,而不是文件中的正确值。 我还没有做任何与registry。 有没有什么我必须做的registry中获得正确的价值..
任何build议将是有益的谢谢。
一个想法浮现在脑海:GetPrivateProfileString和朋友有一点点如何找到INI文件的怪癖。 除非你指定INI文件的路径(甚至像.\filename.ini
一样简单),否则它们会假定文件位于Windows目录中。 这几乎肯定不是你想要的,并且可能导致找不到文件,从而导致默认值。
另外,不要指望从这些函数中得到完整的Unicode支持。 它们只是ANSI文本的Unicode包装器。