Я пытаюсь создать диалоговое окно в начале моей программы, которое позволяет пользователю вводить число, которое затем используется в другой функции (фактически в другом файле C) намного позже в программе.
void function()
{
double variable;
char buf[256] = "400";
sprintf( buf, "%d", variable);
#ifdef WIN32
edit_dialog(NULL,"Enter variable", "Please enter the variable:", buf,260);
#endif
variable = atof(buf);
}
Я бы хотел передать переменную в другую функцию позже в программе.Проблема в том, что мне не нужна переменная намного позже.Я не хочу передавать его между каждой функцией, пока она не попадет в правую часть программы.Как мне это сделать?
Также, когда я запускаю это, я получаю диалоговое окно, как и ожидалось, но число в поле не 400, как я и ожидал.Вместо этого это 2089881670 (!) Я предполагаю, что неправильно обрабатываю память, но не понимаю почему.