Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс ПЯВУ 2 сем / Лекции 2 сем / Л№36.Библиотека стандартных программ / Лекция № 33. Библиотека стандартые функции.odt
Скачиваний:
15
Добавлен:
17.04.2015
Размер:
54.36 Кб
Скачать

4. Функции преобразования типов

Описанные в табл. 4 функции объявлены в стандартной библиотеке stdlib.h. Прототип функции atof содержится, кроме того, в файле math.h.

<stdlib.h>

Таблица 8.4. Функции преобразования типов

___________________________________________________________________________

Функция Краткое описание

___________________________________________________________________________

atof double atof(const char *s); преобразование строки, в представляемое ей

число типа double. На переполнение возвращает плюс или минус

HUGE_VAL (константа из библиотеки)

atoi int atoi(const char *s); преобразование строки в число типа int (целое). При

неудачном преобразовании вернет 0

atol long atol(const char *s); преобразование строки в число типа long (длинное

целое)

ecvt char *ecvt(double value, int ndig, int *dec, int *sign); преобразование числа

типа double в строку. ndig - требуемая длина строки, dec возвращает

положение десятичной точки от 1-й цифры числа, sign возвращает знак

fcvt char *fcvt(double value, int ndig, int *dec, int *sign); преобразование числа

типа double в строку. В отличие от ecvt, dec возвращает количество цифр

после десятичной точки. Если это количество превышает ndig,

происходит округление до ndig знаков.

gcvt char *gcvt(double value, int ndig, char *buf); преобразование числа типа

double в строку buf. Параметр ndig определяет требуемое число цифр в

записи числа.

itoa char *itoa (int value, char *string, int radix); преобразование числа типа int в

строку, записанную в системе счисления с основанием radix (от 2 до 36

включительно)

ltoa char *ltoa (long value, char *string, int radix); преобразование числа типа

long в строку

ultoa char *ultoa (unsigned long value, char *string, int radix); преобразование

числа типа unsigned long в строку

________________________________________________________________________________

Некоторые системы программирования предоставляет также функции,перечисленные в таб.5.

Таблица 5. Дополнительные функции преобразования типов

________________________________________________________________________________

Функция Краткое описание

________________________________________________________________________________

strtod преобразование строки в число типа double (покрывает возможности

atof)

strtol преобразование строки в число типа long (покрывает возможности atol)

strtoul преобразование строки в число типа unsigned long

________________________________________________________________________________

В приведенном ниже коде число n преобразуется в строку s, представляющую собой запись числа в системе счисления с основанием r.

int n;

printf ("\nN="); scanf ("%d", &n);

char s[25];

int r=10;

do {

printf ("\nRadix[2-36]: ");

fflush (stdin); scanf ("%d",&r);

} while (r<2 || r>36);

s=itoa (n,s,r);

printf ("\n%d in %d notation is %s",n,r,s);