Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Стандартные функции работы со троками
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 в противном случае.
|