我有一个读取配置文件的函数,我想重新加载此函数以获取新变量
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();
}
我在互联网上搜索重新加载
我发现我可以通过操作员重载来实现这一点
但我不能用它
我仍然是那个人:(
谢谢你:)
答案 0 :(得分:1)
我猜测问题是变量Hour
和Minuts
(原文如此) local 到readConfigFile
函数。
这意味着每当你调用readConfigFile
时,你只会改变那些局部变量,而不是你可能拥有的全局变量。
如果这些变量是全局的,那么您只需再次调用readConfigFile
,它将再次读入它们。
答案 1 :(得分:1)
如果我没有误解您的请求,我认为您已经自己编写了代码。
您是否在询问如何在main()
的{{1}}循环中将新的小时和分钟加载到您的计划中?
while
修改强>
我的错误没有注意到小时和分钟是当地的变种......
请将它们更改为Global vars。