5

コンテンツを含むc++の.init設定ファイルを読み込もうとしています。

[IPアドレス]

IPアドレス=169.254.115.22

[ScanConfiguration]

Scanfrequency = 2500

ScanResolution = 2500

StartAngle = 700000

StopAngle = 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");

しかし、ファイルから正しい値ではなく、変数のデフォルト値のみを取得しています。私はまだレジストリで何もしていません。正しい値を取得するためにレジストリで行う必要があることはありますか。

どんな提案も役に立ちますありがとう。

4

1 に答える 1

8

1 つのアイデアが思い浮かびます。GetPrivateProfileString とその友人は、INI ファイルを見つける方法に少し癖があります。INI ファイルへのパスを指定しない限り (たとえ.\filename.ini. これはほぼ確実にあなたが望むものではなく、おそらくファイルが見つからないため、デフォルト値になります。

また、これらの関数が Unicode を完全にサポートしているとは期待しないでください。ANSI テキストの Unicode ラッパーにすぎません。

于 2012-04-20T02:57:04.453 に答える