#include <stdlib.h>
Этот файл подключает основные макроопределения C и соответствует стандарту ISO, плюс некоторые AVR расширения.
Структуры Данных |
|
struct |
|
struct |
|
Не-ISO C функции. |
|
char * |
ltoa
(long int __val, char *__s, int __radix) |
char * |
utoa (unsigned int __val, char *__s, int __radix) |
char * |
ultoa
(unsigned long int __val, char *__s, int __radix) |
long |
random (void) |
void |
srandom (unsigned long __seed) |
long |
random_r
(unsigned long *ctx) |
char * |
itoa
(int __val, char *__s, int __radix) |
#define |
RANDOM_MAX 0x7FFFFFFF |
Конверсионные функции для двойных параметров. |
|
Обратите
внимание,
что эти
функции не
расположены
в заданной
по
умолчанию
библиотеке, |
|
char * |
dtostre
(double __val, char *__s, unsigned char __prec, unsigned char __flags) |
char * |
dtostrf
(double __val, char __width, char __prec, char *__s) |
#define |
DTOSTR_ALWAYS_SIGN 0x01 |
#define |
DTOSTR_PLUS_SIGN 0x02 |
#define |
DTOSTR_UPPERCASE 0x04 |
Макроопределения |
|
#define |
RAND_MAX 0x7FFF |
Типоопределение |
|
typedef int(*) |
__compar_fn_t (const void *, const void *) |
Функции |
|
__inline__ void |
abort (void) __ATTR_NORETURN__ |
int |
abs
(int __i) __ATTR_CONST__ |
long |
labs (long __i) __ATTR_CONST__ |
void * |
bsearch
(const void *__key, const void *__base, size_t __nmemb, size_t __size,
int(*__compar)(const void *, const void *)) |
div
(int __num, int __denom) __asm__("__divmodhi4") __ATTR_CONST__ |
|
ldiv
(long __num, long __denom) __asm__("__divmodsi4") __ATTR_CONST__ |
|
void |
qsort
(void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) |
long |
strtol
(const char *__nptr, char **__endptr, int __base) |
unsigned long |
strtoul
(const char *__nptr, char **__endptr, int __base) |
long |
atol
(const char *s) __ATTR_PURE__ |
int |
atoi
(const char *s) __ATTR_PURE__ |
void |
exit
(int __status) __ATTR_NORETURN__ |
void * |
malloc
(size_t __size) __ATTR_MALLOC__ |
void |
free (void *__ptr) |
void * |
calloc
(size_t __nele, size_t __size) __ATTR_MALLOC__ |
void * |
realloc
(void *__ptr, size_t __size) __ATTR_MALLOC__ |
double |
strtod (const char *__nptr, char **__endptr) |
double |
atof (const char *__nptr) |
int |
rand (void) |
void |
srand (unsigned int __seed) |
int |
rand_r
(unsigned long *ctx) |
Переменные |
|
size_t |
|
char * |
|
char * |
Бит
значение
которое
может быть
передано в flags
к dtostre().
Бит
значение
которое
может быть
передано в flags
к dtostre().
Бит
значение
которое
может быть
передано в flags
к dtostre().
Определение: #define RAND_MAX
0x7FFF
Описание: Наибольшее
значение,
которое
может быть сгенерировано
функцией rand ().
Наибольшее
значение
которое
может быть сгенерировано
rand().
Определение: #define RANDOM_MAX
0x7FFFFFFF
Описание: Наибольшее
значение,
которое
может быть сгенерировано
функцией random ().
Наибольшее
значение
которое
может быть сгенерировано
random().
typedef
int(*) __compar_fn_t(const void *, const void *) |
Comparision тип функции для qsort(), только для удобства.
Заголовок: void abort (void)
Функция abort() вызывает прерывание работы программы.
В среде AVR, выполнение приостанавливается введением бесконечного цикла.
Пример
использования: if (i<0) abort ();
Преобразует строку к целому числу.
Функция atoi () конвертирует начальную часть строки, на которую указывают s к целочисленному представлению. В отличие от
(int)strtol(s, (char **)NULL, 10);
эта
функция не
обнаруживает
переполнение
(errno не
изменен и
значение
результата
не предсказуемо),
использует
меньшую
память (перепрограммируемую
и стек) и
работает более
быстро.
Преобразует строку в целочисленное представление.
Функция atol()
преобразовывает
начальную
часть строки,
на которую
указывают s к
длинному
целочисленному
представлению.
В отличие от
strtol(s, (char **)NULL, 10);
эта
функция не
обнаруживает
переполнение
(errno не
изменен и
значение
результата
не предсказуемо),
использует
меньшую
память (перепрограммируемую
и стек) и
работает
более быстро.
Пример использования: #include <stdio.h>
#include
<stdlib.h>
char
str[6] ;
int
x ;
void
main(void)
{
gets(str);
x
= atoi(str);
printf("x=%d",
x) ;
}
( |
const void * |
__key, |
|
|
|
|
const void * |
__base, |
|
|
|
size_t |
__nmemb, |
|
|
|
size_t |
__size, |
|
|
|
int(*)(const void *, const void *) |
__compar |
|
|
) |
|
|
|
Функция
bsearch() ищет
массив
объектов nmemb
,
начальным
членом
которого
указывают ядро,
для члена,
который
соответствует
объекту, на
который указывают
key
.
Размер
каждого
члена
массива
определен size
.
Содержание
массива
должно быть в
возрастании
сортированным
порядком
согласно функции
сравнения, на
которую
упоминают compar
.
Подпрограмма compar, как
ожидается,
будет иметь
два
параметра, которые
указывают на
ключевой
объект и
члену массива,
в том
порядке, и
должны
возвратить
целое число
меньше чем,
равняться,
или больше чем
нуль, если
ключевой
объект
найден,
соответственно,
быть меньше
чем,
соответствовать,
или больше
чем член
массива.
Функция
bsearch()
возвращает
указатель на
члена
соответствия
массива, или
нулевого
указателя,
если никакое
соответствие
не найдено.
Если два
члена
сравниваются
как равный,
какой член
согласован,
неопределенно.
Размещает
в памяти nele элементов
размером size каждый
и заполняет
выделенную
область нулями.
Пример использования: calloc (2, 10);
div_t div |
( |
int |
__num, |
|
|
|
int |
__denom |
|
|
) |
|
|
|
Заголовок: div_t div(int num, int denom)
Описание:
Вычисляет
значение num/denom и
возвращает
частное и остаток
в структуре div_t,
содержащей
два поля типа int под
названием quot и rem.
Пример
использования: div_t div_result;
div_result =
div(5, 2); //div_result.quot =
2;
div result.rem
= 1;
Заголовок; char* dtostre (double val,
char *s, unsigned char prec,
unsigned char flags)
Описание; Преобразует значение val в строковое представление, которое сохраняется в переменной, переданной по ссылке в качестве параметра s. Преобразование выполняется в формате " [-] d. ddde+dd", где количество символов после десятичной точки определяется параметром prec. Если prec = 0, то десятичная точка в полученной строке отсутствует. Параметр flags может содержать комбинацию следующих констант:
- dtostre_uppercase — знак экспоненты отображается в верхнем регистре (т.е. "Е", а не "е");
- DTOSTRE_ALWAYS_SIGN - перед положительными числами всегда вставляется пробел;
- dtostre__plus_SIGN — перед положительными числами всегда вставляется знак "+".
Функция
возвращает
указатель на
преобразованную
строку s.
Пример использования; char s [ ]
s
= dtostre(32.567, s, 3,
DTOSTRE_UPPERCASE
| DTOSTRE_PLUS_SIGN);
//s = "+3.257E+01"
Функция dtostre() конвертирует двойное значение, прошел в val
into
an ASCII representation that will be stored under s
. The caller is responsible for
providing sufficient storage in s
.
Conversion is done in the format "[-]d.ddde±dd"
where there is one digit before the
decimal-point character and the number of digits after it is equal to the
precision prec
; if
the precision is zero, no decimal-point character appears. If flags
has the DTOSTRE_UPPERCASE bit set,
the letter 'E'
(rather than 'e'
)
will be used to introduce the exponent. The exponent always contains two
digits; if the value is zero, the exponent is "00"
.
If flags
has the DTOSTRE_ALWAYS_SIGN bit
set, a space character will be placed into the leading position for positive
numbers.
If flags
has the DTOSTRE_PLUS_SIGN bit set,
a plus sign will be used instead of a space character in this case.
Функция
dtostre()
возвращает
указатель на
преобразованную
строку s
.
Заголовок: char* dtostrf(double val,
char width,
char
prec, char *s)
Описание: Преобразует значение val в строковое представление, которое сохраняется в переменной, переданной по ссылке в качестве параметра s. Преобразование выполняется в формате "[-]d.ddd". Минимальная длина полученной строки, включая десятичную точку и возможный знак "-", определяется параметром width, а количество символов после десятичной точки — параметром prec. Функция возвращает указатель на преобразованную строку s.
Пример использования: char s [ ] ;
s =
dtostrf(-32.567, 6, 1,
s); //s = "-32.60"
The dtostrf() function converts the double value passed in val
into an ASCII representationthat
will be stored under s
. The caller is responsible for providing sufficient storage in s
.
Conversion is done in the format "[-]d.ddd"
. The minimum field width of the
output string (including the '
.' and the possible sign for negative values)
is given in width
,
and prec
determines the number of digits after the decimal sign.
The dtostrf()
function returns the pointer to the converted string s
.
Функция
exit()
прерывает
работу
приложения.
Так как нет
никакой
среды, чтобы
возвратиться
к, status
игнорируется,
и выполнение
кода в
конечном
счете
достигнет
бесконечного
цикла, таким
образом
фактически
останавливается
вся
обработка
кода.
Пример использования: if (i<0) exit(0);
В
контексте C++,
глобальные
деструкторы
будут
вызывать
перед
останавливающимся
выполнением.
Функция free() делает область памяти, на которую ссылается ptr, доступной для размещения других объектов. Если ptr == NULL, то никаких действий не происходит.
Пример использования: if (i<0) exit(O);
Заголовок: char* itoa(int
val, char *s,
int radix)
Описание: Преобразует целочисленное значение val в строковое представление, которое сохраняется в переменной, переданной по ссылке в качестве параметра s. Преобразование выполняется на основании значения параметра radix. Если radix == 2, то будет получено двоичное представление числа. Если radix > 10, то число 10 будет обозначено в полученной строке символом "а", число 11 — "b" и т.д. Функция возвращает указатель на преобразованную строку s.
Пример использования: char s[];
s = itoa(26, s, 16); //s = "la"
Пример использования: char s [ ] ;
s =
ltoa (2604623, s, 16);
//s = "27be4f"
Convert an integer to a string.
The function itoa() converts the integer value from val
into an ASCII representation that
will be stored under s
. The caller is responsible for providing sufficient storage in s
.
Note:
The minimal size of the buffer s
depends on the choice of radix. For
example, if the radix is 2 (binary), you need to supply a buffer with a minimal
length of 8 * sizeof (int) + 1 characters, i.e. one character for each bit plus
one for the string terminator. Using a larger radix will require a smaller
minimal buffer size.
Warning:
If the buffer is too small, you risk
a buffer overflow.
Conversion is done using the radix
as base, which may be a number
between 2 (binary conversion) and up to 36. If radix
is greater than 10, the next digit
after '9'
will
be the letter 'a'
.
If radix is 10 and val is negative,
a minus sign will be prepended.
The itoa() function returns the pointer passed
as s
.
Заголовок: long int
abs(long int X)
Описание: Возвращает
модуль целого
числа X.
Пример использования: signed long
int target, actual;
unsigned long
int error;
error =
abs(target-actual);
The labs() function computes the absolute value of the long integer i
.
Note:
ldiv_t ldiv |
( |
long |
__num, |
|
|
|
long |
__denom |
|
|
) |
|
|
|
Заголовок: ldiv_t ldiv(long int num, long int denom)
Описание:
Вычисляет
значение num/denom и
возвращает
частное и
остаток в
структуре ldivt, содержащей
два поля типа long int под
названием quot и rem.
Пример
использования: ldiv_t res;
res
= ldiv(145000, 42560);
//res.quot
= 3; res.rem = 17320
The ldiv()
function computes the value num/denom
and returns the quotient and remainder in a
structure named ldiv_t
that contains two long integer
members named quot
and rem
.
Convert a long integer to a string.
The function ltoa() converts the long integer value
from val
into
an ASCII representation that will be stored under s
. The caller is responsible for providing
sufficient storage in s
.
Note:
The minimal size of the buffer s
depends on the choice of radix. For
example, if the radix is 2 (binary), you need to supply a buffer with a minimal
length of 8 * sizeof (long int) + 1 characters, i.e. one character for each bit
plus one for the string terminator. Using a larger radix will require a smaller
minimal buffer size.
Warning:
If the buffer is too small, you risk
a buffer overflow.
Conversion is done using the radix
as base, which may be a number
between 2 (binary conversion) and up to 36. If radix
is greater than 10, the next digit
after '9'
will
be the letter 'a'
.
If radix is 10 and val is negative,
a minus sign will be prepended.
The ltoa() function returns the pointer passed
as s
.
Функция malloc() выделяет zize байт памяти. В случае неудачи возвращает NULL.
Обратите внимание это malloc() делает нет инициализирует возвращенную память, чтобы обнулить байты.
См. главу о malloc() usage для подробностей выполнения.
Пример
использования: calloc(2, 10);
( |
void * |
__base, |
|
|
|
|
size_t |
__nmemb, |
|
|
|
size_t |
__size, |
|
|
|
__compar |
|
|
|
) |
|
|
|
Функция qsort() модификация разделение -обмен сорт, или быстрый сорт.
Функция
qsort()
сортирует
массив
объектов nmemb
,
начальным
членом
которого
указывают ядро.
Размер
каждого
объекта
определен size
.
Содержание
ядра массива
сортировано
в
возрастающем
порядке
согласно
функции
сравнения, на
которую
указывают compar
,
который
требует двух
параметров,
указывающих
на
сравниваемые
объекты.
Функция
сравнения
должна
возвратить
целое число меньше
чем, равный,
или больше
чем нуль, если
первый
параметр, как
полагают,
является соответственно
меньше чем,
равняйтесь,
или больше
чем второй.
Заголовок: int rand (void)
Описание: Возвращает псевдослучайное число в диапазоне от 0 до значения RAND_MAX. Начальное число для генерации псевдослучайной последовательности задается с помощью функции srand (). По умолчанию, это число равно 1.
Пример использования: for (int i=l; i<=10; i++)
{
printf("Number%d
= %d", i, rand());
}
The rand()
function computes a sequence of pseudo-random integers in the range of 0 to RAND_MAX
(as defined by the header file <stdlib.h>).
Заголовок: void srand (unsigned int
seed)
Описание: Устанавливает начальное число для генерации псевдослучайной последовательности
Пример использования: for (int
i=l; i<=10; i++)
{
srand(i);
printf("Number%d
= %d", i, rand());
}
The srand()
function sets its argument seed
as the seed for a new sequence of pseudo-random numbers to be returned
by rand().
These sequences are repeatable by calling srand()
with the same seed value.
If no seed value is provided, the
functions are automatically seeded with a value of 1.
In compliance with the C standard,
these functions operate on int
arguments. Since the underlying algorithm already uses 32-bit
calculations, this causes a loss of precision. See random()
for an alternate set of functions that retains full 32-bit precision.
Variant of rand() that stores the context in the user-supplied variable located at ctx
instead of a static library
variable so the function becomes re-entrant.
Заголовок: long int
rand (void)
Описание: Возвращает псевдослучайное число в диапазоне от 0 до
значения RANDOM_MAX. Начальное число для генерации псевдослучайной последовательности задается с помощью функции srandom(). По умолчанию, это число равно 1.
Пример использования: for (int i=l; i<=10; i++)
{
printf("Number%d
= %d", i, random());
}
The random()
function computes a sequence of pseudo-random integers in the range of 0 to RANDOM_MAX
(as defined by the header file <stdlib.h>).
The srandom()
function sets its argument seed
as the seed for a new sequence of pseudo-random numbers to be returned
by rand().
These sequences are repeatable by calling srandom()
with the same seed value.
If no seed value is provided, the
functions are automatically seeded with a value of 1.
Variant of random() that stores the context in the user-supplied variable located at ctx
instead of a static library
variable so the function becomes re-entrant.
The realloc()
function tries to change the size of the region allocated at ptr
to the new size
value. It returns a pointer to the
new region. The returned pointer might be the same as the old pointer, or a
pointer to a completely different region.
The contents of the returned region
up to either the old or the new size value (whatever is less) will be identical
to the contents of the old region, even in case a new region had to be allocated.
It is acceptable to pass ptr
as NULL, in which case realloc()
will behave identical to malloc().
If the new memory cannot be
allocated, realloc()
returns NULL, and the region at ptr
will not be changed.
Pseudo-random number generator
seeding; see rand().
Заголовок: void srand (unsigned long int seed) Описание: Устанавливает начальное число для генерации псевдослучайной последовательности
Пример использования: for (int
i=l; i<=10; i++)
{
srandom(i);
printf("Number%d
= %d", i, random());
}
Pseudo-random
number generator seeding; see random().
Заголовок: float
strtod(char *s, char
*endptr)
Описание: Преобразует строку, на которую указывает s, в вещественное представление. Ведущие пробелы в строке игнорируются. Если параметр endptr не равен NULL, он должен указывать на символ, следующий после последнего в преобразуемой строке
Пример использования: #include <stdio.h>
#include <stdlib.h>
char str[]
= "25.678 String";
float x;
void
main(void)
{
x =
strtod(str, &str[6]);
printf("x=%f", x) ;
//Результат =
2.5678Е01
}
Функция strtod () преобразует начальную часть строки, на которую указывают nptr удваивать представление.
Ожидаемая
форма строки
дополнительная
плюс ( '+'
) или знак
"минус" ( '-'
)
сопровождаемый
последовательностью
цифр,
произвольно
содержащих
символ
десятичной
точки, произвольно
сопровождаемый
экспонентой. Экспонента
состоит из 'E'
или 'e',
сопровождаемый
дополнительным
или плюс знак
"минус",
сопровождаемый
последовательностью
цифр.
Ведущие символы незаполненного пространства в строке пропущены.
strtod () функция возвращает преобразованное значение, если любой.
Если endptr - не ПУСТОЙ УКАЗАТЕЛЬ, указатель на символ после последнего символа, используемого в преобразовании сохранен в местоположении, на которое упоминают endptr.
Если никакое преобразование не выполнено, нуль возвращен и значение nptr сохранен в местоположении, на которое упоминают endptr.
Если правильное значение вызвало бы переполнение, плюс или минус HUGE_VAL возвращен (согласно признаку(подписи) значения), и ERANGE сохранен в errno. Если правильное значение вызвало бы антипереполнение, нуль возвращен и ERANGE сохранен в errno.
FIXME: HUGE_VAL
должен быть
определен
где-нибудь.
Разрядный образец
- 0x7fffffff, но чем
номер был бы
это быть?
Заголовок: long int
strtol(char *s, char
*endptr, int base)
Описание: Преобразует
строку, на
которую
указывает s, в
целочисленное
представление
по основанию base.
Ведущие
пробелы в
строке
игнорируются.
Если параметр
endptr не
равен NULL, он
должен
указывать на
символ,
следующий
после
последнего в
преобразуемой
строке. Если base > 10,
то символу "А"
соответствует
число 10,
символу "В" —
число 11
и т.д.
Пример использования: #include <stdio.h>
#include
<stdlib.h>
char
str[] = "IF Hex string"; long int x;
void
main(void)
{
x
= strtol(str, &str[2], 16);
printf("x=%d", x);
//Результат = 31
}
The strtol()
function converts the string in nptr
to a long value. The conversion is done according
to the given base, which must be between 2 and 36 inclusive, or be the special
value 0.
The string may begin with an
arbitrary amount of white space (as determined by isspace()) followed by a single optional '+'
or '-'
sign. If base
is zero or 16, the string may then
include a "0x"
prefix, and the number will be read in base 16; otherwise, a zero base
is taken as 10 (decimal) unless the next character is '0'
, in which case it is taken as 8
(octal).
The remainder of the string is
converted to a long value in the obvious manner, stopping at the first
character which is not a valid digit in the given base. (In bases above 10, the
letter 'A'
in
either upper or lower case represents 10, 'B'
represents 11, and so forth, with 'Z'
representing 35.)
If endptr
is not NULL, strtol()
stores the address of the first invalid character in *endptr
. If there were no digits at all,
however, strtol()
stores the original value of nptr
in endptr
. (Thus, if *nptr
is not '\0'
but **endptr
is '\0'
on return, the entire string was
valid.)
The strtol()
function returns the result of the conversion, unless the value would underflow
or overflow. If no conversion could be performed, 0 is returned. If an overflow
or underflow occurs, errno
is set to ERANGE and the function return value is
clamped to LONG_MIN
or LONG_MAX
,
respectively.
Заголовок: unsigned long
int strtol(char *s, char **endptr,
int base)
Описание: Преобразует
строку, на
которую
указывает s, в
целочисленное
представление
по основанию base.
Ведущие
пробелы в строке
игнорируются.
Если
параметр endptr не
равен NULL, он
должен
указывать на
символ,
следующий
после
последнего в
преобразуемой
строке. Если base > 10,
то символу "А"
соответствует
число 10,
символу "В" — число
11 и т.д.
Пример использования: #include <stdio.h>
#include
<stdlib.h>
char
str[] = "1FA340D Hex string";
unsigned
long int x;
void
main(void)
{
x
= strtol(str, &str[7], 16);
printf("x=%d",
x); //Результат = 33174541
}
The strtoul()
function converts the string in nptr
to an unsigned long value. The conversion is
done according to the given base, which must be between 2 and 36 inclusive, or
be the special value 0.
The string may begin with an
arbitrary amount of white space (as determined by isspace()) followed by a single optional '+'
or '-'
sign. If base
is zero or 16, the string may then
include a "0x"
prefix, and the number will be read in base 16; otherwise, a zero base
is taken as 10 (decimal) unless the next character is '0'
, in which case it is taken as 8
(octal).
The remainder of the string is
converted to an unsigned long value in the obvious manner, stopping at the
first character which is not a valid digit in the given base. (In bases above
10, the letter 'A'
in either upper or lower case represents 10, 'B'
represents 11, and so forth, with 'Z'
representing 35.)
If endptr
is not NULL, strtoul()
stores the address of the first invalid character in *endptr
. If there were no digits at all,
however, strtoul()
stores the original value of nptr
in endptr
. (Thus, if *nptr
is not '\0'
but **endptr
is '\0'
on return, the entire string was
valid.)
The strtoul()
function return either the result of the conversion or, if there was a leading
minus sign, the negation of the result of the conversion, unless the original
(non-negated) value would overflow; in the latter case, strtoul()
returns ULONG_MAX, and errno
is set to ERANGE. If no conversion could be
performed, 0 is returned.
Заголовок: char* ultoa(unsigned long
int val, char
*s, int radix)
Описание: Преобразует целочисленное значение val в строковое представление, которое сохраняется в переменной, переданной по ссылке в качестве параметра s. Преобразование выполняется на основании значения параметра radix. Если radix == 2, то будет получено двоичное представление числа. Если radix > 10, то число 10 будет обозначено в полученной строке символом "а", число 11 — "b" и т.д. Функция возвращает указатель на преобразованную строку s.
Пример использования: char s [ ] ;
s =
ultoa(1456260463, s, 16); // s
= "56CCC56F"
Convert an unsigned long integer to
a string.
The function ultoa() converts the unsigned long integer
value from val
into
an ASCII representation that will be stored under s
. The caller is responsible for
providing sufficient storage in s
.
Note:
The minimal size of the buffer s
depends on the choice of radix. For
example, if the radix is 2 (binary), you need to supply a buffer with a minimal
length of 8 * sizeof (unsigned long int) + 1 characters, i.e. one character for
each bit plus one for the string terminator. Using a larger radix will require
a smaller minimal buffer size.
Warning:
If the buffer is too small, you risk
a buffer overflow.
Conversion is done using the radix
as base, which may be a number
between 2 (binary conversion) and up to 36. If radix
is greater than 10, the next digit
after '9'
will be
the letter 'a'
.
The ultoa() function returns the pointer passed
as s
.
Заголовок: char* utoa(unsigned int val,
char *s, int radix)
Описание: Преобразует целочисленное значение val в строковое представление, которое сохраняется в переменной, переданной по ссылке в качестве параметра s. Преобразование выполняется на основании значения параметра radix. Если radix == 2, то будет получено двоичное представление числа. Если radix > 10, то число 10 будет обозначено в полученной строке символом "а", число 11 — "b" и т.д. Функция возвращает указатель на преобразованную строку s.
Пример использования: char s [ ] ;
s =
utoa(65535, s, 16);
//s = "FFFF"
Convert an unsigned integer to a
string.
The function utoa() converts the unsigned integer value
from val
into
an ASCII representation that will be stored under s
. The caller is responsible for
providing sufficient storage in s
.
Note:
The minimal size of the buffer s
depends on the choice of radix. For
example, if the radix is 2 (binary), you need to supply a buffer with a minimal
length of 8 * sizeof (unsigned int) + 1 characters, i.e. one character for each
bit plus one for the string terminator. Using a larger radix will require a
smaller minimal buffer size.
Warning:
If the buffer is too small, you risk
a buffer overflow.
Conversion is done using the radix
as base, which may be a number
between 2 (binary conversion) and up to 36. If radix
is greater than 10, the next digit
after '9'
will
be the letter 'a'
.
The utoa() function returns the pointer passed
as s
.
char*
__malloc_heap_end
|
char*
__malloc_heap_start
|
size_t
__malloc_margin |
Automatically generated by Doxygen
1.5.2 on 30 Oct 2007.