有ini解析代码
boost::property_tree::ptree pt;
boost::property_tree::ini_parser::read_ini("file.ini", pt);
ini_parser.hpp抛出异常。
// ini_parser.hpp - Exeption throwed
//
Ptree &container = section ? *section : local;
typename Str::size_type eqpos = line.find(Ch('='));
if (eqpos == Str::npos)
BOOST_PROPERTY_TREE_THROW(ini_parser_error(
"'=' character not found in line", "", line_no));
但是,如果我使用file.ini的绝对路径,那么效果很好。
我如何使用相对路径?
答案 0 :(得分:0)
毫无疑问,您的工作目录不在您认为的位置。
工作目录可能不包含file.ini
文件,或者它包含该名称的其他文件,但没有有效的ini文件内容
答案 1 :(得分:0)
根据提供的信息,您可能无法获得所需的当前工作目录。您使用的是哪个编译器/环境,以及如何为程序指定工作目录?
答案 2 :(得分:0)
在我的情况下,使用BOM而不是普通的UTF-8
来编码UTF-8