Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Стандартные функции работы со троками






2.1.4.1 < string.h> (< cstring>) – функции работы со строками в стиле C

 

void *memchr(const void *p, int ch, size_t n);

Ищет первое вхождение символа в блок памяти.

Функция возвращает указатель на первое вхождение байта, представленного младшим байтом аргумента ch в блоке памяти p длиной n.

 

int memcmp(const void *p1, const void *p2, size_t n);

Сравнивает блоки памяти

Функция сравнивает два блока памяти и возвращает значение: меньше нуля, равное нулю или больше нуля – аналогично кодам возврата функции strcmp.

 

void *memcpy(void *dest, const void *src, size_t n);

Копирует блок памяти

Функция копирует блок памяти длиной n байт из адреса src по адресу dest.

 

void *memmove(void *dest, const void *src, size_t n);

Переносит блок памяти

Функция аналогична memcpy, но блоки dest и src могут перекрываться.

 

void *memset(const void *р, int ch, size_t n);

Заполняет блок памяти символом

Функция заполняет блок памяти символом, взятым из младшего байта ch.

 

char *strcat(char *s1, char *s2);

Складывает строки

Функция добавляет s2 к s1 и возвращает s1. В конец результирующей строки добавляется нуль-символ.

 

char *strchr(char *s, int ch);

Ищет символ в строке

Функция возвращает указатель на первое вхождение символа ch в строку s, если его нет, то возвращается NULL.

 

int strcmp(char *s1, char *s2);

Сравнивает строки

Функция сравнивает строки и возвращает отрицательное (если s1 меньше s2), нулевое (если s1 равно s2) или положительное (если s1 больше s2) значение.

 

char *strcoll(char *s1, char *s2);

Сравнивает строки с учетом установленной локализации

Функция сравнивает строки аналогично strcmp, но учитывает установки локализации.

 

char *strcpy(char *s1, char *s2);

Копирует одну строку в другую

Функция копирует s2 в s1 и возвращает s1.

 

size_t strcspn(char *s1, char *s2);

Ищет один из символов одной строки в другой

Функция возвращает значение индекса любого из символов из s2 в строке s1.

 

char *strerror(size_t n);

Возвращает указатель на строку с описанием ошибки

Функция возвращает указатель на строку с описанием ошибки номер n.

 

struct tm strftime(char *s, size_t size, fmt, const struct tm *ctm);

Преобразует время в формате fmt в формат tm

Функция возвращает отформатированную строку с датой и временем на основе формата fmt. Значение функции имеет тип time_t, соответствующий типу tm.

 

size_t strlen(char *s);

Возвращает длину строки

Функция возвращает длину строки (без учета символа завершения строки).

 

char *strncat(char *s1, char *s2, size_t n);

Складывает одну строку с n символами другой

Функция добавляет не более п символов из s2 к s1 и возвращает s1. Первый символ s2 пишется на место завершающего нуль-символа строки s1. Если длина строки s2 меньше n, переписываются все символы s2. К строке s1 добавляется нуль-символ. Если строки перекрываются, поведение не определено.

 

int strncmp(char *s1, char *s2, size_t n);

Сравнивает одну строку с n символами другой

Функция сравнивает первую строку и первые n символов второй строки и возвращает отрицательное (если s1меньше s2), нулевое (если s1 равно s2) или положительное (если s1 больше s2) значение.

 

char *strncpy(char *s1, char *s2, size_t n);

Копирует первые n символов одной строки в другую

Функция копирует не более n символов из s2 в s1 и возвращает s1. Если длина исходной строки превышает или равна n, нуль-символ в конец строки s1 не добавляется. В противном случае строка дополняется нуль-символами до n-го символа. Если строки перекрываются, поведение не определено.

 

char *strpbrk(char *s1, char *s2);

Ищет один из символов одной строки в другой

Функция возвращает указатель на символ, являющийся первым вхождением любого из символов из s2 в строку s1, если его нет, возвращается NULL.

 

char *strrchr(char *s, int ch);

Ищет символ в строке

Функция возвращает указатель на первое вхождение символа ch в строку s справа, если его нет, возвращает NULL.

 

size_t strspn(char *s1, char *s2);

Ищет символ одной строки, отсутствующий в другой

Функция возвращает индекс первого символа в s1, отсутствующего в s2.

 

char *strstr(char *s1, char *s2);

Ищет подстроку в строке

Функция выполняет поиск первого вхождения подстроки s2 в строку s1. В случае удачного поиска, возвращает указатель на элемент из s1, с которого начинается s2, и NULL в противном случае.

 

double strtod(const char *str, char **end);

Преобразует строку в число

Функция преобразует строку символов в числовое значение и возвращает его. При переполнении возвращает +/-HUGE_VAL При невозможности выполнить преобразование или исчезновении порядка возвращает 0. В обоих последних случаях errno устанавливается в ERANGE. end указывает на символ, на котором преобразование завершается.

 

char *strtok(char *s1, char *s2);

Выделяет из строки лексемы

Функция возвращает следующую лексему из s1, отделенную любым из символов из набора s2.

 

double strtol(const char *str, char **end, int radix);

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

Функция преобразует строку символов в числовое значение с учетом указанной системы счисления radix и возвращает полученное число. Функция пропускает возможные начальные пробелы и заканчивает преобразование на первом символе, который не может появиться в образе числа. Параметр end является адресом указателя типа char*; этот указатель будет содержать адрес первого непреобразованного символа. При переполнении возвращает LONG_МАХ или LONG_MIN. При невозможности выполнить преобразование возвращает 0. В обоих последних случаях errno устанавливается в ERANGE.

 

double strtoul(const char *str, char **end, int radix);

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

Функция работает аналогично strtol, но работает с беззнаковым длинным целым. При переполнении возвращает ULONG_MAX.

 

size_t strxfrm(char *s1, char *s2, size_t n);

Преобразует строки на основе текущей локализации

Функция преобразует строку из s2 и помещение ее в s1 на основе текущей локализации. Преобразуется не более n символов.

 

2.1.4.2 < stdio.h> (< cstdio>) – функции ввода-вывода в стиле C

 

int snprintf(wchar_t *buffer, const wchar_t *format[, argument, …]);

Выводит строку параметров в определенном формате

Функция выводит в строку buffer значения переменных, перечисленных в списке, обозначенном многоточием, в формате, определенном строкой format. Является аналогом функции sprintf для многобайтных символов.

 

int swscanf(const wchar_t *buf, const wchar_t *format,...);

Вводит данные из строки

Функция аналогично функции scanf вводит данные, но не с клавиатуры, а из строки символов, переданной ей первым параметром. Аргумент buf – строка символов, из которой вводятся значения, format – строка формата, в соответствии с которой происходит преобразование данных, а многоточие указывает на наличие необязательных аргументов, соответствующих адресам вводимых значений. Является аналогом функции sscanf для многобайтных символов.

 

int sprintf(char *buffer, const char *format[, argument, …]);

Выводит строку параметров в определенном формате

Функция выводит в строку buffer значения переменных, перечисленных в списке, обозначенном многоточием, в формате, определенном строкой format.

 

int sscanf(const char *buf, const char *format [, par1, par2, … ]);

Вводит данные из строки

Функция аналогично функции scanf вводит данные, но не с клавиатуры, а из строки символов, переданной ей первым параметром. Аргумент buf – строка символов, из которой вводятся значения, format – строка формата, в соответствии с которой происходит преобразование данных, а многоточие указывает на наличие необязательных аргументов, соответствующих адресам вводимых значений.

 

2.1.4.3< ctype.h> (< cctype>) – функции классификации и преобразования типов

 

int tolower(int ch);

Возвращает символ в нижнем регистре

Функция получает параметр ch и возвращает его в нижнем регистре. В параметре ch используется только младший байт.

 

int toupper(int ch);

Возвращает символ в верхнем регистре

Функция получает параметр ch и возвращает его в верхнем регистре. В параметре ch используется только младший байт.

 

int towlower(wint_t ch);

Возвращает символ в нижнем регистре

Функция получает символ ch и возвращает его в нижнем регистре. Является аналогом функции tolower для многобайтных символов.

 

int towupper(wint_t ch);

Возвращает символ в верхнем регистре

Функция получает символ ch и возвращает его в верхнем регистре. Является аналогом функции toupper для многобайтных символов.

 

int isalnum(int ch);

Проверяет, является ли символ буквой или цифрой

Функция выделяет младший байт параметра ch и возвращает значение true, если символ ch является буквой или цифрой, или false в противном случае.

 

int isalpha(int ch);

Проверяет, является ли символ буквой

Функция выделяет младший байт параметра ch и возвращает значение true, если символ ch является буквой, или false в противном случае.

 

int iscntrl(int ch);

Проверяет, является ли символ управляющим

Функция выделяет младший байт параметра ch и возвращает значение true, если символ ch является управляющим символом (типа line feed, del, табуляции и тому подобных, большинство из которых находятся в диапазоне 0x01 – 0х1F (для кодировки ASCII)), или false в противном случае.

 

int isdigit(int ch);

Проверяет, является ли символ цифрой

Функция выделяет младший байт параметра ch и возвращает значение true, если символ ch является цифрой, или false в противном случае.

 

int isgraph(int ch);

Проверяет, является ли символ видимым

Функция выделяет младший байт параметра ch и возвращает значение true, если символ ch является видимым (то есть он не является символом пробела, табуляции и т. д.) или false в противном случае.

 

int islower(int ch);

Проверяет, является ли символ буквой нижнего регистра

Функция выделяет младший байт параметра ch и возвращает значение true, если символ ch является буквой нижнего регистра, или false в противном случае.

 

int isprint(int ch);

Проверяет, является ли символ печатаемым

Функция выделяет младший байт параметра ch и возвращает значение true, если символ ch является печатаемым (isgraph + пробел), или false в противном случае.

 

int ispunct(int ch);

Проверяет, является ли символ символом пунктуации

Функция выделяет младший байт параметра ch и возвращает значение true, если символ ch является символом пунктуации (то есть печатаемым, но не буквой, не цифрой, не пробелом), или false в противном случае.

 

int isspace(int ch);

Проверяет, является ли символ разграничительным

Функция выделяет младщий байт параметра ch и возвращает значение true, если символ ch является символом пробела или табуляцией, или символом новой строки, или символом новый страницы (символом перевода формата), или false в противном случае.

 

int isupper(int ch);

Проверяет, является ли символ буквой верхнего регистра

Функция выделяет младший байт параметра ch и возвращает значение true, если символ ch является буквой верхнего регистра, или false в противном случае.

 

int iswalnum(wint_t сh);

Проверяет, является ли символ буквой или цифрой

Функция возвращает значение true, если символ ch является буквой или цифрой, или false в противном случае. Является аналогом функции isalnum для многобайтных символов.

 

int iswalpha(wint_t ch);

Проверяет, является ли символ буквой

Функция возвращает значение true, если символ ch является буквой, или false в противном случае. Является аналогом функции isalpha для многобайтных символов.

 

int iswcntrl(wint_t сh);

Проверяет, является ли символ управляющим

Функция возвращает значение true, если символ ch является управляющим символом (типа line feed, del, табуляции и тому подобных, большинство из которыхнаходятся в диапазоне 0х01 — 0x1F (для кодировки ASCII)), или false в противном случае. Является аналогом функции iscntrl для многобайтных символов.

 

int iswctype(wint_t с, wctype_t desc);

Проверяет многобайтный символ

Функция возвращает ненулевое значение, если символ c обладает свойством desc, или нулевое в противном случае.

 

int iswdigit(wint_t сh);

Проверяет, является ли символ цифрой

Функция возвращает значение true, если символ ch является цифрой, или false в противном случае. Является аналогом функции isdigit для многобайтных символов.

 

int iswgraph(wint_t сh);

Проверяет, является ли символ видимым

Функция возвращает значение true, если символ ch является видимым (то есть он не является символом пробела, табуляции и т. д.) или false в противном случае. Является аналогом функции isgraph для многобайтных символов.

 

int iswlower(wint_t сh);

Проверяет, является ли символ буквой нижнего регистра

Функция возвращает значение true, если символ ch является буквой нижнего регистра, или false в противном случае. Является аналогом функции islower для многобайтных символов.

 

int iswprint(wint_t сh);

Проверяет, является ли символ печатаемым

Функция возвращает значение true, если символ ch является печатаемым (iswgraph + пробел), или false в противном случае. Является аналогом функции isprint для многобайтных символов.

 

int iswpunct(wint_t сh):

Проверяет, является ли символ символом пунктуации

Функция возвращает значение true, если символ ch является символом пунктуации (то есть печатаемым, но не буквой, не цифрой, не пробелом), или false в противном случае. Является аналогом функции ispunct для многобайтных символов.

 

int iswspace(wint_t сh);

Проверяет, является ли символ разграничительным

Функция возвращает значение true, если символ ch является символом пробела или табуляцией, или символом новой строки, или символом новой страницы (символом перевода формата), или false в противном случае. Является аналогом функции issрасе для многобайтных символов.

 

int iswupper(wint_t сh);

Проверяет, является ли символ буквой верхнего регистра

Функция возвращает значение true, если символ ch является буквой верхнего регистра, или false в противном случае. Является аналогом функции isupper для многобайтных символов.

 

int iswxdigit(wint_t ch);

Проверяет, является ли символ символом

Функция возвращает значение true, если символ ch является символом шестнадцатеричной цифры (цифры, а также буквы от А до F в нижнем или верхнем регистрах), или false в противном случае. Является аналогом функции isxdigit для многобайтных символов.

 

int isxdigit(int сh);

Проверяет, является ли символ символом шестнадцатеричной цифры

Функция выделяет младший байт параметра ch и возвращает значение true, если символ ch является символом шестнадцатеричной цифры (цифры, а также буквы от A до F в нижнем или верхнем регистрах), или false в противном случае.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.