реклама на сайте
подробности

 
 
> Преобразовать целое в строку, int to string
ViKo
сообщение Nov 8 2009, 09:24
Сообщение #1


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Не нашел в Keil функции преобразования целого числа в строку, ну, как itoa в Hi-Tech C for PIC, например. Хочу вывести код с АЦП на ЖКИ. Неужто придется самому изобретать такую тривиальную вешь?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ivan_Petrov
сообщение Nov 8 2009, 10:21
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 43
Регистрация: 12-10-07
Пользователь №: 31 293



Цитата(zksystem @ Nov 8 2009, 12:38) *
а printf("value=%u",uiNumber); не катит?

Код
sptrinf (dst, "%u", n);

Код
{
    int i, j;

    /* convert number to string. */
    for (i = 0;;)
    {
        dst[i++] = '0' + n % 10;
        n = n / 10;

        if (n == 0)
            break;
    }

    /* terminate string. */
    dst[i] = '\0';

    /* swap chars ordering. */
    for (j = 0; i; ++j)
    {
        char c;

        c = dst[--i];
        dst[i] = dst[j];
        dst[j] = c;
    }
}


p.s.
Если нужен более быстрый код, без повторного обращения к буферу, то стоит предварительно логарифмировать N через бинарное дерево и заполнить буфер с конца. Также рекомендую оперцию деления заменить на "деление на константу" через умножение и сдвиги.
Go to the top of the page
 
+Quote Post



Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 10:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016