[英]Why boost ini_parser does not work with relative path?
有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使用絕對路徑,則效果很好。
如何使用相對路徑?
毫無疑問,您的工作目錄不在您認為的位置。
工作目錄可能不包含file.ini
文件,或者包含該名稱的另一個文件,但是沒有有效的ini文件內容
根據提供的信息,您可能沒有所需的當前工作目錄。 您正在使用哪個編譯器/環境,以及如何為程序指定工作目錄?
在我的情況下,ini是使用BOM而不是普通的UTF-8編碼UTF-8
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.