Функции Турбо-С для работы со строками и символами

Таблица 1. Преобразование символов.


КЛАССИФИКАЦИЯ


double atof(char * nptr);

Конвертирует символьную строку *nptr в число с двойной точностью.

int atoi(char * nptr);

Преобразует строку символов *nptr в целое число.

long atol(char * nptr);

Преобразует строку символов *nptr в длинное целое число .

 

 int isalpha(int ch);  int islower(int ch);

 int isalnum(int ch); int isprint(int ch);

 int isascii(int ch);    int ispunct(int ch);

 int iscntrl(int ch);    int isspace(int ch);

 int isdigit(int ch);    int isupper(int ch);

 int isgraph(int ch);   int isxdigit(int ch);

Все перечисленные выше макрокоманды классифицируют целые значения, закодированные

в коде ASCII по табличному принципу. Например, функция isdigit определяет является ли ch цифрой.


СИМВОЛЫ


int toascii(int c);

Конвертирует целое c в код ASCII, при этом получаемые значения

находятся в пределах от 0 до 127.

int tolower(int c);

Конвертирует целое c (впределах от EOF до 255) в значение нижнего

регистра, остальные остаются неизменными.

int toupper(int c);

Переводит целое c (в пределах от EOF до 255) в значение верхнего

регистра, остальные остаются без изменений.

int _tolower(int c);

Это макрокоманда, производящая те же преобразования, что и функция

tolower, за исключениемтого, что ее можно применять только в том

случае, если c - символ верхнего регистра.

int _toupper(int c);

Макрокоманда, выполняющая то же самое преобразование, что и функция

toupper, за исключением того, что ее можно применять только в том

случае, если c - символ верхнего регистра.


СТРОКИ


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

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

char *ultoa(unsigned load value, char *string,int radix);

Данные функции конвертируют значения value в строку *string с

нулевым окончанием и базой конвертирования radix.

double strtod(char *str, char **endptr);

Преобразует символьную строку в число двойной точности.

long strtol(char *str, char **endptr, int base);

Преобразует символьную строку к длиному целому значению.

 char * ecvt(double value, int ndigit, int * decpt, int * sign);

 char * fcvt(double value, int ndigit, int * decpt, int * sign);

 char * gcvt(double value, int ndigit, char * buf);F

Преобразуют число с плавающей точкой value в строку символов из

ndigit цифр. В sign указывается знак результата, в decpt -позиция

десятичной точки.


КОПИРОВАНИЕ СТРОК


char *strcpy(char *destin, char *source);

Копирует байты из строки source в строку destin и останавливается

после передачи нулевого окончания строки source.

char * strncpy(char *destin, char *source, int maxlen);

Копирует точно maxlen символов из строки source в строку destin,

если потребуется усекая или добавляя нули в destin.

char *stpcpy(char *destin, char *source);

Копирует одну символьную строку в другую.

char *strdup(char *str);

Получает дубль строки str, выделяя память с помощью функции malloc.

char *strerror(char *str);

Позволяет пользователю генерировать собственные сообщения об ошибках.


СРАВНЕНИЕ СТРОК


int strcmp(char *str1, char *str2);

Сравнивает строки str1 и str2.

int stricmp(char *str1, char *str2);

Сравнивает строки str1 и str2 без различий регистров.

int strncmp(char *stp1, char *stp2, int maxlen);

Делает то же самое сравнение, что и функция strcmp, но просматривает только maxlen символов.

int strnicmp(char *str1, char *str2, unsigned maxlen);

Сравнивает str1 и str2 на максимальной длине maxlen байтов безразличий регистров.


ПОИСК СТРОК


char *strchr(char *str, char ch);

Просматривает строку (с начала вперед), производя поиск первого появления символа ch в строке str.

char * strrchr(char *str, char ch);

Ищет последнее появление символа ch в строке str. Просматривает строку в обратном направлении.

Символ нулевого окончания считается частью строки.

char * strpbrk(char *str1, char *str2);

Просматривает строку str1 на первое появление любого символа, имеющегося в строке str2.

int strspn(char *str1, char *str2);

Возвращает длину первого сегмента строки str1, который целиком состоит из символов строки str2.

int strcspn(char *str1, char *str2);

Возвращает длину первого сегмента строки str1, который целиком не

содержит ни одного символа из имеющихся в строке str2.

char * strstr(char *str1, char *str2); Просматривает str2 на первое появление подстроки str1.

unsigned strlen(char *str);

Возвращает число символов в строке str, не считая символ нулевого окончания.


ИЗМЕНЕНИЕ СТРОК


char * strlwr(char *str);

Преобразует буквы верхнего регистра строки str в буквы нижнего регистра.

char * strupr(char *str);

Преобразует буквы нижнего регистра в строке str в буквы верхнего регистра.

char * strset(char *str, char ch);

Делает все символы в строке str равными символу ch.

char * strnset(char *str, char ch, unsigned n);

Присваивает первым n байтам строки str символ ch. Если длина строки меньше n , тo длина становится равной n.

char * strrev(char *str);

Переворачивает все символы в строке (исключая нулевое окончание).

double strtod(char *str, char **endptr);

Преобразует символьную строку str в число двойной точности.

long strtol(char *str, char **endptr, int base);

Преобразует символьную строку str к длинному целому значению.


СЛИЯНИЕ СТРОК


char *strcat(char *destin, char *source);

Добавляет копию аргумента source к концу агрумента destin.

char *strncat(char *destin, char *source, int maxlen);

Присоединяет maxlen символов строки sourse к строке destin.

───────────────────────────────────────────────────────