7

これはとてもシンプルなことなので、できるだけシンプルに保ちたいと思います。私が望むのは、ファイルから一連のキーと値のペアをロードし、それらをマップに入力することだけです。読みやすいものであれば、文章の構成はあまり気にしません。

私が今持っているものは次のとおりです。

  • xsd で生成されたコードを含む xml (やり過ぎ)
  • プロトコルバッファ (やり過ぎ)
  • INI スタイルのテキスト ファイル

INI ファイルの構文は気に入っていますが、そのためのパーサーを書きたくありません。多くの人が私より前にやったことを、私はやっているように思えます。このような単純な構造化ファイルを読み取るライブラリはありませんか?

4

2 に答える 2

7

あなたは人間的に可能な限りシンプルなものを望んでいるように見えるので、マップのコンテンツに基づいて機能する場合と機能しない場合がある、信じられないほどシンプルなものを提案します。マップ データ値がスペースを含む文字列である場合、これは機能しません。それらがスペースのない文字列または数値である場合、設定は完了です。

これはテスト済みのコードではありませんが、非常にシンプルなので、完全にコンパイルできなくても問題ありません。KeyType と ValueType を int、string、float、またはファイルで実際に使用しているものに変更するだけです。

次のようなファイルを設定します。

key value
key2 value2
key3 value3
key4 value4

次のように読みます。

KeyType key;
ValueType value;

std::map<KeyType, ValueType> myMap;
while (infile >> key >> value)
    myMap[key] = value;
于 2012-06-08T15:30:20.567 に答える
0

あなたがMSの世界にいるなら、あなたは使うことができます

GetPrivateProfileSectionNames
GetPrivateProfileString
WritePrivateProfileString

ini ファイルまたはレジストリから読み取る。Unicode を書きたい場合は、新しく作成されたファイルの BOM が UTF16 であることを確認してください。

于 2012-06-08T15:58:50.023 に答える