Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на C / C++ / Язык программирования Си++. Лекции.DOC
Скачиваний:
179
Добавлен:
02.05.2014
Размер:
775.17 Кб
Скачать
    1. Функции распознавания вида символа

Строго говоря, это не функции, а макроопределения, описанные в заголовочном файле <ctype.h>:

isalnum(c) истина если c буква или цифра;

isalpha(c) истина если c буква;

isdigit(c) истина если c цифра;

iscntrl(c) истина если c символ удаления или обычный уп-

равляющий символ;

isprint(c) истина если c печатный символ;

islower(c) истина если c буква нижнего регистра;

isupper(c) истина если c буква верхнего регистра;

ispunct(c) истина если c знак пунктуации;

isspace(c) истина если c пробел, знак табуляции, возврат

каретки, символ перевода строки, вертикальной

табуляции, перевода страницы;

isxdigit(c) истина если c шестнадцатеричная цифра;

_toupper(c) преобразует c из диапазона [a-z] к символам

[A-Z];

_tolower(c) преобразует c из диапазона [A-Z] к символам

[a-z];

_toascii(c) преобразует c больший, чем 127 к диапазону

0-127 путем очистки всех битов, кроме 7 млад-

ших.

    1. Функции преобразования данных

Прототипы функций преобразования данных находятся в файле <stdlib.h>.

Преобразование строки символов в целое число:

int atoi(const char *s);

long atol(const char *s);

Возвращает преобразованное значение входной строки. Если строка не может быть преобразована возвращает ноль.

Преобразование строки символов в вещественное число:

double atof(const char *s);

Возвращает преобразованное значение входной строки. Если строка не может быть преобразована возвращает ноль.

Преобразование строки символов в длинное целое число с указанием системы счисления:

long strtol(const char *s, char **endptr, int radix);

unsigned long strtoul(const char *s, char **endptr,

int radix);

Возвращает преобразованное значение входной строки. Если строка не может быть преобразована возвращает ноль. Указатель *endptr устанавливается на первый символ строки не отвечающий синтаксису целого числа языка СИ.

Преобразование строки символов в вещественное число:

double strtod(const char *s, char **endptr);

Возвращает преобразованное значение входной строки. Если строка не может быть преобразована возвращает ноль. Указатель *endptr устанавливается на первый символ строки не отвечающий синтаксису вещественного числа языка СИ.

Преобразование целого числа в строку символов с указанием системы счисления:

char *ltoa(long value, char *string, int radix);

char *itoa(int value, char *string, int radix);

char *ultoa(unsigned long value, char *string,

int radix);

Возвращает указатель на выходную строку.

Преобразование вещественного числа в строку символов:

char *ectv(double value, int ndig, int *dec, int *sign);

char *fctv(double value, int ndig, int *dec, int *sign);

Функции возвращают указатель на статический буфер памяти с выходной строкой, содержащей только цифры числа. Буфер обновляется при каждом вызове функции. Для функции ectv() ndig является числом цифр в выходной строке, для fctv() - числом цифр в выходной строке после десятичной точки. Параметр dec показывает положение десятичной точки в выходной строке, которая явно не присутствует. Параметр sign принимает отличное от нуля значение для отрицательных чисел.

Преобразование вещественного числа в строку:

char *gctv(double value, int ndec, char *buf);

Функции возвращают указатель на буфер buf памяти с выходной строкой, содержащей готовое к печати символьное представление числа из ndec цифр в формате F Фортрана, если возможно. В противном случае число будет представлено в формате e функции printf().

Соседние файлы в папке C++