Как эмулировать динамическое отображение в C-коде
Я написал код, который может конвертировать любое входное целое число в эквивалентный светодиодный дисплей. Я хочу передать время моей системы в качестве входа для этой функции и получить светодиодный дисплей для того же.
Пример: рассмотрим эти 2 входа:
(system time = 10:12:00)
(system time = 11:10:04)
Проблема:
Вывод на экран должен перезаписать предыдущий вывод для "10:12:00" на "11:10:04", чтобы у пользователя приложения было ощущение динамического отображения "на месте".
Прошу вас дать подсказку о том, как этого добиться, в коде "С". (Моя платформа GNU/Linux)
Благодарю.
С уважением,
Сандип Сингх
2 ответа
Обычный способ что-то вроде:
printf("\r%s", time_string);
Что касается получения времени в виде строки, вы можете получить время с помощью time()
, преобразовать в местное время, разбитое на поля с localtime
и поместите формат по вашему выбору в строку с strftime
,
Напишите свою строку и затем столько пробелов ('\b'), сколько необходимо, чтобы стереть эту строку перед тем, как написать другую.