应用程序运行时的c ++重载功能

时间:2012-11-22 06:12:31

标签: c++ function reload

我有一个读取配置文件的函数,我想重新加载此函数以获取新变量

void readConfigFile()
{
    ifstream File;
    File.open("config.txt", ios::in);
    while (!File.eof()){
        string line;
        int Hour;
        int Minuts;
        getline(File, line);
        File >> Hour >> Minuts;
    }
    File.close();
}

int main()
{
    readConfigFile();
    while (1) {
        time_t now;
        struct tm *current;
        now = time(0);
        current = localtime(&now);
        if( current->tm_hour == Hour && current->tm_min == Minuts){
            std::cout <<  "Done" << std::endl;
        }
        Sleep(5000);
    }

    return 0;
}

如何在应用程序运行时重新加载此readConfigFile()函数以获取新的小时/分钟

例如

if(Clicked Button){

reload readConfigFile();

}

我在互联网上搜索重新加载

我发现我可以通过操作员重载来实现这一点

但我不能用它

我仍然是那个人:(

谢谢你:)

2 个答案:

答案 0 :(得分:1)

我猜测问题是变量HourMinuts(原文如此) local readConfigFile函数。

这意味着每当你调用readConfigFile时,你只会改变那些局部变量,而不是你可能拥有的全局变量。

如果这些变量是全局的,那么您只需再次调用readConfigFile,它将再次读入它们。

答案 1 :(得分:1)

如果我没有误解您的请求,我认为您已经自己编写了代码。

您是否在询问如何在main()的{​​{1}}循环中将新的小时和分钟加载到您的计划中?

while

修改

我的错误没有注意到小时和分钟是当地的变种......

请将它们更改为Global vars。