Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Преобразование типов в С
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
ushakoff78
Уважаемые коллеги, подскажите, пожалуйста, как можно преобразовать тип переменной int в строку char. Этот вопрос возник, когда я попробовал выводить на LCD данные о позиции мотора. Библиотечные функции IAR позволяют легко выводить строки на LCD. Вывод переменных int требует предварительного преобразования. Посоветуйте как это сделать.
KAlex
Ну вот, например. На оптимальность не претендую.
CODE
/*************************************************************************
char* long2str(long val, char *pbuf)
Long 2 String buffer length 7 bytes
( order for correct output MSB..LSB )
ATTENTION: value must limit by 7 decimal digits, i.e [ 0 ..9999999 ]
*************************************************************************/
extern char *long2str(u_int val, char *pbuf){
u_int tmp;
uc08 i;
pbuf[7] = '\0';
for( i=7; i>0; i--){
if( val >= 10 ){
tmp = val/10;
pbuf[i-1] = (val - (tmp*10)) + 0x30;
val = tmp;
}else{
pbuf[i-1] = val + 0x30;
val -= val;
}
}
return pbuf;
}
sergeeff
char str[32];
int var;

sprintf((char *)str, "%d", var);
Dog Pawlowa
Цитата(ushakoff78 @ Apr 6 2009, 10:58) *
Уважаемые коллеги, подскажите, пожалуйста, как можно преобразовать тип переменной int в строку char. Этот вопрос возник, когда я попробовал выводить на LCD данные о позиции мотора. Библиотечные функции IAR позволяют легко выводить строки на LCD. Вывод переменных int требует предварительного преобразования. Посоветуйте как это сделать.

Хм, хороший вопрос в хорошем месте. Типа "Как пройти в библиотеку?"
printf/sprintf - это вроде бы библиотечные функции, и ничего не требуют.
Или место в программной памяти ARM экономим? biggrin.gif
zltigo
Цитата(ushakoff78 @ Apr 6 2009, 10:58) *
как...

Moderator:
Настоятельная просьба выбирать раздел в соответствии с темой и уровнем задаваемых вопросов. Предварительно неплохо заглянуть учебник или воспользоваться поиском по форуму.
demiurg_spb
функция itoa Вам поможет. Поищите её описание в хелпе...
ushakoff78
большое спасибо за дельные советы от K Alex, sergeef, а недельные нравоучения мимо.
Функция itoa не работает в IAR. Большое спасибо.
demiurg_spb
Цитата(ushakoff78 @ Apr 6 2009, 12:48) *
Функция itoa не работает в IAR. Большое спасибо.
Не верю.
rezident
Цитата(ushakoff78 @ Apr 6 2009, 14:48) *
Функция itoa не работает в IAR. Большое спасибо.
Даже при подключенном stdlib.h? 07.gif
zltigo
Цитата(rezident @ Apr 7 2009, 01:29) *
Даже при подключенном stdlib.h? 07.gif

Это опциональная не ANSI С функция - stdlib библиотеки совершенно не обязательно должны ее содержать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.