Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 2new.rtf
Скачиваний:
6
Добавлен:
09.11.2019
Размер:
620.69 Кб
Скачать

Функции работы со строками – string.H, mem.H, mbstring.H

Функция

Описание

_fstr*

void *memccpy(void *dest, const void *src, int c, size_t n) _fmemccpy

Копирование n символов или до c. Рез – за c или 0

void *memchr(const void *s, int c, size_t n) _fmemchr _wmemchr

Поиск n символов c

int memcmp(const void *s1, const void *s2, size_t n) _fmemcmp

Сравнение n элементов

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

Копирование n символов.

int memicmp(const void *s1, const void *s2, size_t n); _fmemicmp

Сравнение n элементов игнорир. регистр

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

Копирование n байт

void *memset(void *s, int c, size_t n) _fmemset _wmemset

Установка n байт в значение c

void movedata(unsigned srcseg, unsigned srcoff, unsigned dstseg, unsigned dstoff, size_t n)

Копирование n байт

void movmem(const void *src, void *dest, unsigned length) _fmovmem

Копирование n байт

void setmem(void *dest, unsigned length, char value)

Установка length байт в значение value

char *stpcpy(char *dest, const char *src) _wcspcpy

Копирование строки. Рез – ук. на 0

char *strcat(char *dest, const char *src) _fstrcat wcscat

Конкатенация. Рез - dest

char *strchr(const char *s, int c) _fstrchr _mbschr

Поиск c.

int strcmp(const char *s1, const char *s2) _fstrcmp wcscmp _mbscmp

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

int strcmpi(const char *s1, const char *s2)

Макрос Сравнение строк без уч регистра

int strcoll(const char *s1, const char *s2) wcscoll _mbscoll

Сравнение строк с учетом LC_COLLATE из locale

int _stricoll(const char *s1, const char *s2) _wcsicoll _mbsicoll

Макрос Сравнение строк без уч регистра LC_COLLATE

char *strcpy(char *dest, const char *src) _fstrcpy wcscpy _mbscpy

Копирование строки. Рез – ук. на dest

size_t strcspn(const char *s1, const char *s2) _fstrcspn wcscspn

Поиск в s1 символов из s2. Рез – длина сигмента

char *strdup(const char *s) _fstrdup _wcsdup _mbsdup

Дублирование строки через malloc

char *strerror(int errnum)

Преобразование номера ошибки в строку

char *_strerror(const char *s)

Конструирует строку ошибки добавляя Error: s \n len(s)<94

int stricmp(const char *s1, const char *s2) _fstricmp _wcsicmp _mbsicmp

Сравнение строк без уч регистра

size_t strlen(const char *s) _fstrlen wcslen _mbslen _mbstrlen(for LC_CTYPE)

Длина строки

char *strlwr(char *s) _fstrlwr _wcslwr

Смена регистра на маленький с уч. LC_CTYPE

char *strncat(char *dest, const char *src, size_t maxlen) _fstrncat wcsncat _mbsncat

Конкатенация строк не более maxlen из src

int strncmp(const char *s1, const char *s2, size_t maxlen) _fstrncmp wcsncmp _mbsncmp

Сравнение строк (частей) длиной до maxlen

int strncmpi(const char *s1, const char *s2, size_t n) wcsncmpi

Сравнение строк (частей) длиной до maxlen без уч регистра

char *strncpy(char *dest, const char *src, size_t maxlen) _fstrncpy wcsncpy _mbsncpy

Копирование строки до maxlen. \0 не копир. если >=maxlen

int strnicmp(const char *s1, const char *s2, size_t maxlen) _fstrnicmp _wcsnicmp _mbsnicmp

Сравнение строк (частей) длиной до maxlen без уч регистра

char *strnset(char *s, int ch, size_t n) _fstrnset _wcsnset _mbsnset

Замена n символов (или до \0) строки на ch

char *strpbrk(const char *s1, const char *s2) _fstrpbrk wcspbrk _mbspbrk

Поиск в s1 на наличие любых символов из s2. Рез – ук на первое вхождение

char *strrchr(const char *s, int c) _fstrrchr wcsrchr _mbsrchr

Поиск последнего вхождения символа c

char *strrev(char *s) _fstrrev _wcsrev _mbsrev

Реверс строки

char *strset(char *s, int ch) _fstrset _wcsset _mbsset

Замена символов строки на ch (до \0)

size_t strspn(const char *s1, const char *s2) _fstrspn wcsspn _mbsspn

Поиск сегмента s1, содержащего символы из s2

char *strstr(const char *s1, const char *s2) _fstrstr wcsstr _mbsstr

Поиск подстроки s2 в строке s1

char *strtok(char *s1, const char *s2) _fstrtok wcstok _mbstok

Поиск маркера в s1, разделенного символом из s2. Вставляет \0 перед разделителем. Дальнейший поиск – s1=0

char *strupr(char *s) _fstrupr _wcsupr _mbsupr

Сзменение регистра на загл. Учет LC_CTYPE

size_t strxfrm(char *target, const char *source, size_t n) wcsxfrm

Трансформация строки с уч LC_COLLATE. Рез – длина рез строки

Для работы с функциями, начинающимися с mem… необходимо включить включаемый файл mem.h; начинающимися на mb… - mbstring.h; для остальных – string.h.