0
我将CSimpleIniA包装在Config类中以管理'config.ini'文件中的配置选项。CSimpleIniA - 包装类的方法不读取配置文件的值
在我提供的示例中,在Config
构造函数中读取了sample_size
。 调用readSampleSize()
时,返回配置文件的值。
相反,readInitialPos()
应该(我所期望的)能够读取config.ini
并返回值inital_pos
。相反,它会返回默认值,第三个参数70000
。
我不明白为什么第二种方法不起作用。
config.hpp
class Config {
private:
unsigned long int sample_size;
public:
unsigned long int readInitialPos();
unsigned long int readSampleSize();
CSimpleIniA ini;
Config();
};
config.cpp
#include "../include/config.hpp"
Config::Config()
{
CSimpleIniA ini;
int error_nr = ini.LoadFile("config/config.ini");
if (error_nr) {
cout << "Error " << error_nr << " opening config.ini file." << endl;
exit(3);
}
sample_size = ini.GetLongValue("Rock", "sample_size", 50);
}
unsigned long int Config::readInitialPos()
{
return ini.GetLongValue("Rock", "initial_pos", 70000);
}
unsigned long int Config::readSampleSize()
{
return sample_size;
}
来电显示,rock.cpp
void Rock::readConfig()
{
Config config;
initial_pos = config.readInitialPos();
sample_size = config.readSampleSize();
}
谢谢,没有看到。关于你的最后一段,你提出什么建议而不是.ini文件? – Luis