簡體   English   中英

為什么boost ini_parser不適用於相對路徑?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM