[<<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,...)