функция перезагрузки c ++ во время работы приложения

У меня есть функция, которая читает файл конфигурации, и я хотел перезагрузить эту функцию, чтобы получить новые переменные

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();

}

пока я ищу в интернете о перезагрузке

я обнаружил, что могу сделать это с перегрузкой операторов

но я не мог использовать это

я все еще новичок 🙁

Благодарю вас 🙂

-1

Решение

Я предполагаю, что проблема в том, что переменные Hour а также Minuts (так) являются местный к readConfigFile функция.

Это означает, что всякий раз, когда вы звоните readConfigFile вы изменяете только эти локальные переменные, а не глобальные переменные, которые у вас могут быть.

Если эти переменные были глобальными, то вам просто нужно вызвать readConfigFile снова, и это будет читать в них снова.

1

Другие решения

Если я не понял ваш запрос, я думаю, вы уже написали код самостоятельно.

Вы спрашиваете, как вы можете загрузить свои новые часы и минуты в вашу программу, пока она работает в main()«s 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);
}

РЕДАКТИРОВАТЬ:

Моя вина в том, что «Час» и «Мин» — это местные переменные …

Пожалуйста, измените их на Global Vars.

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector