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