[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Преобразование символов

На страницах CONV(3C), STRTOL(3C), STRTOD(3C), PRINTF(3S) и SCANF(3S)
описаны некоторые функции, осуществляющие преобразование.
На странице CONV(3C) описаны функции toupper и tolower, а также
макросы _toupper, _tolower и toascii. Макросы быстрее, но не проверяют
диапазон. toupper и _toupper переводят аргумент в верхний алфавитный
регистр (заглавные буквы). tolower и _tolower переводят аргумент в
нижний регистр (строчные буквы). Макрос toascii выделяет младшие 7 бит
своего аргумента. Это дает допустимый ASCII-код и может быть полезно
при обработке данных, полученных из других систем.
Например: toupper('a') возвращает 'A'
Страница STRTOL(3C) описывает некоторые функции преобразования строк:
atol      ASCII-строку десятичных цифр в длинное целое

atoi      ASCII-строку десятичных  цифр в  целое. Например: atoi("15")
          возвращает 15.

strtol    Преобразует строку,  состоящую из  цифр заданного основания.
          Основание может быть не более 36, и цифры представляются как
          0-9 и  a-z. Если средний параметр не равен (char **)NULL, то
          по этому  адресу будет  сохранен  указатель  на  символ,  на
          котором преобразование закончилось. Например:
          strtol("1e" ,(char **)0 ,16) возвращает 30.

strtoul   Эта функция  работает так  же, как  и strtol,  но возвращает
          беззнаковое длинное целое.

Страница STRTOD(3C) описывает функции strtod и atof, преобразующие
текстовые строки в числа с плавающей точкой двойной точности.
На странице PRINTF(3S) описана функция sprintf, формирующая
форматированную строку в массиве байтов, заданном параметром s.
Функция sscanf, описанная на странице SCANF(3S), разделяет строку на
части и преобразует каждую в заданный формат.

CONV(3C)

   #include <ctype.h>
   int toupper(int c)     int tolower(int c)
   int _toupper(int c)    int _tolower(int c)    int toascii(int c)

STRTOL(3C)

   #include <stdlib.h>
   long atol(const char *str)
   int atoi(const char *str)
   long strtol(const char *str, char **ptr, int base)
   unsigned long strtoul(const char *str, char **ptr, int base)

STRTOD(3C)

   #include <stdlib.h>
   double atof(const char *nptr)
   double strtod(const char *nptr, char **endptr)

PRINTF(3S) / SCANF(3S)

   #include <stdio.h>
   int sprintf(char *s, const char *format, .../* args */)

   int sscanf(const char *s, const char *format,...)