주어진 옵션이 발견된 INI 파일의 행 번호를 가져오는 크로스 플랫폼 방식
오늘날 많은 애플리케이션은 .ini 파일을 사용하여 저장합니다. 구성 데이터. 이러한 파일은 간단하고 구문 분석하기 쉽습니다. 그러나 라이브러리의 도움 없이는 특정 항목의 줄 번호를 찾는 것이 어려울 수 있습니다.
Boost.Program_options는 명령을 구문 분석하고 저장하는 편리한 방법을 제공하는 C 라이브러리입니다. 라인 옵션. 또한 .ini 구성 파일 구문 분석을 지원합니다.
Boost.Program_options를 사용하여 .ini 항목의 줄 번호를 찾으려면 다음 단계를 사용할 수 있습니다.
variable_map 개체의 값 중 하나라도 유효하지 않은 경우 통지() 함수는 예외를 발생시킵니다. 이 예외에는 잘못된 값의 줄 번호가 포함됩니다.
다음은 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>
이것은 코드는 my.ini 파일을 구문 분석하고 Variable_map 객체에 값을 저장합니다. 그런 다음 값의 유효성을 검사하고 "my-option" 옵션의 줄 번호를 찾습니다. 옵션을 찾을 수 없으면 코드는 오류 메시지를 인쇄합니다.
위 내용은 Boost.Program_options를 사용하여 INI 파일에서 특정 항목의 줄 번호를 찾으려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!