指定されたオプションが見つかった INI ファイルの行番号を取得するクロスプラットフォームの方法
今日の多くのアプリケーションは、.ini ファイルを使用して保存しています構成データ。これらのファイルはシンプルで解析が簡単です。ただし、ライブラリの助けがなければ、特定のエントリの行番号を見つけるのは難しい場合があります。
Boost.Program_options は、コマンドを解析して保存する便利な方法を提供する C ライブラリです。ラインオプション。 .ini 設定ファイルの解析もサポートされています。
Boost.Program_options を使用して .ini エントリの行番号を見つけるには、次の手順を使用できます。
variables_map オブジェクト内の値のいずれかが無効な場合、notify() 関数は例外をスローします。この例外には、無効な値の行番号が含まれます。
Boost.Program_options を使用して .ini エントリの行番号を検索する方法の例を次に示します。
<code class="cpp">#include <boost/program_options.hpp> #include <iostream> int main(int argc, char** argv) { try { // Create an options description object. boost::program_options::options_description options; options.add_options() ("my-option", boost::program_options::value<std::string>(), "My option"); // Create a variables map object. boost::program_options::variables_map vm; // Parse the INI file. boost::program_options::store(boost::program_options::parse_config_file<char>("my.ini", options), vm); // Validate the values. boost::program_options::notify(vm); // Find the line number of the "my-option" option. if (vm.count("my-option")) { std::cout << "The line number of the \"my-option\" option is: " << vm["my-option"].source() << std::endl; } else { std::cout << "The \"my-option\" option was not found." << std::endl; } } catch (std::exception& e) { std::cerr << "Error: " << e.what() << std::endl; return 1; } return 0; }</code>
Thisコードは my.ini ファイルを解析し、値を variables_map オブジェクトに保存します。次に、値を検証し、「my-option」オプションの行番号を見つけます。オプションが見つからない場合、コードはエラー メッセージを出力します。
以上がBoost.Program_options を使用して、INI ファイル内の特定のエントリの行番号を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。