应用程序运行时的 C++ 重新加载功能
c++ reload function while application running
我有一个读取配置文件的函数,我想重新加载这个函数来获取新变量
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() 函数以获取新的小时/Minuts
例如
if(Clicked Button){
reload readConfigFile();
}
当我在互联网上搜索有关重新加载的信息时
我发现我可以通过运算符重载来做到这一点
但我不能使用它
我仍然是乞丐:(
谢谢:)
我猜问题是变量Hour
和Minuts
(原文如此)是readConfigFile
函数的局部变量。
这意味着无论何时调用readConfigFile
,您都只更改这些局部变量,而不更改您可能拥有的任何全局变量。
如果这些变量是全局变量,那么您只需再次调用readConfigFile
,它就会再次读取它们。
如果我没有误解您的请求,我认为您已经自己编写了代码。
您是在问如何在程序中运行时将新的小时和分钟加载到程序中main()
while
循环中?
int main()
{
readConfigFile();
while (1) {
// Read the Config file here
if (Button Clicked)
{
readConfigFile();
}
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);
}
编辑:
我的错没有注意到小时和敏是本地变量...
请将它们更改为全局变量。
相关文章:
- std::原子加载和存储都需要吗
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 为什么加载SDF会导致Mobilizer创建闭环错误
- C++atioglxx.pdb未加载错误glBufferData OpenGL
- 如何使用tinyxml2从XML加载父实体和子实体
- 如何在C++中使用pybind11加载一个pickle python列表
- 系统.将数组移交给c#中动态加载的c++DLL时发生AccessViolationException
- 加载所有DLL功能
- 来自Pascal DLL/SO中的C 加载和调用功能
- 在C 中使用DLSYM加载共享对象功能
- 在运行时加载OpenGL/DirectX API功能
- 如何从Java中的C DLL加载和使用结构和功能
- 功能以在Windows加载C 上运行该程序
- 我可以用具有相同功能名称的多个DLL加载元素吗?
- 应用程序运行时的 C++ 重新加载功能
- Bug与横幅>加载广告();功能
- 加载纹理无法正常工作的功能
- Xcode 将 dylib 复制到具有延迟加载功能的捆绑包中
- 图像加载功能不工作