2015-10-05 2 views
1

Я прочитал много идей, как преобразовать один символ строки в целое число, но я борюсь с указателями в C. Я предполагаю, на что-то вроде:Pebble C преобразовать символ в целое

strftime(buffer, sizeof("0000"), "%H%M", tick_time); 
onedigit = atoi(&buffer[1]); 

Итак, я хочу, чтобы первая цифра времени была преобразована в целое число.

Если у вас есть более «изящный» способ сделать это - дайте мне знать.

ответ

4

Чтобы получить первый символ как целое число вы хотите:

onedigit = buffer[0] - '0'; 

Это занимает первое (обычно ASCII) символ, вычитает значение (ASCII) для 0, оставив вас с целым значением в диапазоне 0..9.

Вы можете легко сделать то же самое для других числовых символов в строке, например. для получения десятичных цифр:

tensdigit = buffer[1] - '0'; 
+1

Вы мой герой !!! – Kev

+0

Прохладный - я буду смотреть на ваше первое приложение Pebble/watchface! –

Смежные вопросы