我有一个带有std::ifstream
属性的 C++ 类。此类的每个对象在创建时都会在构造函数中获取文件路径,打开文件并使用std::ifstream
属性并在对象的生命周期内保持打开状态。
稍后,在代码的其他地方,我使用该函数读取了一个.ini
文件。boost::property_tree::read_ini
在正常情况下,一切正常。但是,当我创建超过 254 个具有该std::ifstream
属性的上述类的实例时,读取.ini
文件的完全不相关的代码会失败,并且我在消息中得到一个std::runtime_error
with 。"cannot open file"
exception.what()
这让我想知道是否允许我保留超过一定数量的开放std::ifstream
引用。
谁能指出是这种情况还是我遗漏了什么?
编辑:-我使用的是 Windows x64 系统