2

私はBombzと呼ばれるクロスプラットフォームゲーム(C ++)を書いていますが、ユーザーの設定などを読み書きする方法が必要です。これには、完了したレベルのレコードも含まれます。iniファイルパーサーのようなもので問題ありません。効率的でスケーラブルである必要はありません。名前の付いたキーをその場で検索する代わりに、起動時にすべての設定を読み取ることができます。

いくつかの単純なiniファイルパーサーを見つけましたが、ファイルをどこに保存するかという問題を見落としているため、これらすべてを自分で作成する必要があるようです。次のようなものを使用する必要があります:

  • ウィンドウズ:$APPDATA/realh/Bombz/config
  • マック:$HOME/Library/Bombz/config
  • Linuxなど:($HOME/.bombz/configまたはXDG仕様を使用)

どこで見上げるのか、$HOMEそれとも$APPDATA一緒にgetenv()?Windowsでそれを検索する「より適切に承認された」方法があることは知っていますが、私はLinuxの人であり、WindowsAPIを直接処理する必要はありません。

4

1 に答える 1

2

まあ、それは非常に興味深いです-誰かがOS関数を呼び出さずにゲームを書き込もうとしています。かなりの挑戦。

それ以外は、SHGetKnownFolderPath()を呼び出したくない場合は、環境変数が唯一の賭けです。私自身は、Linuxで$ HOMEを信頼していませんが、getpwuid_r()を使用しています。MacOSではNSHomeDirectory()。

于 2012-07-20T16:12:00.693 に答える