GetPrivateProfileInt- 仅读取默认值

GetPrivateProfileInt- reading only the default values

本文关键字:默认值 读取 GetPrivateProfileInt-      更新时间:2023-10-16

我正在尝试读取具有内容的 c++ 中的 .init 配置文件。

[IP地址]

IP 地址=169.254.115.22

[扫描配置]

扫描频率=2500

扫描分辨率=2500

起始角度=700000

止损角度=1100000

到目前为止,我已经使用此代码来读取数据。我的项目是 Unicode 字符集,因此在字符串值之前使用 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");

但是我只得到变量中的默认值,而不是文件中的正确值。我还没有对注册表做任何事情。在注册表中我必须做什么才能获得正确的值..

任何建议都会有所帮助谢谢。

一个想法浮现在脑海中:GetPrivateProfileString和朋友们对如何找到INI文件有点怪癖。除非您指定 INI 文件的路径(即使是像 .filename.ini 这样简单的路径),否则它们会假定该文件位于 Windows 目录中。这几乎肯定不是您想要的,并且可能会导致找不到文件,从而导致默认值。

另外,不要指望这些函数提供完整的 Unicode 支持。它们只是 ANSI 文本的 Unicode 包装器。