SayoriOS 0.3.3

Функции
Файл string.c

Функции для работы со строками Подробнее...

`#include "common.h"`
`#include "lib/string.h"`
`#include "lib/math.h"`

См. исходные тексты.

## Функции
bool | isalnum (char c)
bool | isUTF (char c)
| Проверяет, является ли символ формата UTF-8. Подробнее...
bool | isSymbol (char c)
| Проверяет, является ли специальным символом Подробнее...
uint32_t | SymConvert (char c, char c1, char c2)
| Возращает индекс символа Подробнее...
uint32_t | UTFConvert (char c, char c1)
| Возращает индекс символа Подробнее...
size_t | strlen (const char *str)
| Возращает длину строки Подробнее...
size_t | mb_strlen (const char *str)
| Возращает длину строки с учетом UTF-8. Подробнее...
size_t | struntil (const char *str, const char find)
| Возвращает индекс символа в строке Подробнее...
void * | memcpy (void *restrict destination, const void *restrict source, size_t n)
| Копирование непересекающихся массивов используя SSE. Подробнее...
void * | memset (void *ptr, char value, size_t num)
| Заполнение массива указанными символами Подробнее...
void * | memmove (void *dest, void *src, size_t count)
| Копирование массивов (в том числе пересекающихся) Подробнее...
int | strcmp (const char *s1, const char *s2)
| Сравнение строк Подробнее...
bool | strcmpn (const char *str1, const char *str2)
| Сравнение строк Подробнее...
int | strcpy (char *dest, const char *src)
| Копирование строк Подробнее...
int32_t | memcmp (const char *s1, const char *s2, size_t n)
| Сравнение массивов Подробнее...
size_t | str_bksp (char *str, char c)
| ??? Подробнее...
char * | strpbrk (const char *s, const char *accept)
| ??? Подробнее...
size_t | strspn (const char *s, const char *accept)
| Определение максимальной длины участка строки, содержащего только указанные символы Подробнее...
int32_t | strncmp (const char *s1, const char *s2, size_t num)
| Сравнение строк с ограничением количества сравниваемых символов Подробнее...
char * | strtok (char *s, const char *delim)
| Разбиение строки на части по указанному разделителю Подробнее...
char * | strncpy (char *dest, const char *src, size_t n)
| Копирование строк c ограничением длины Подробнее...
char * | strcat (char *destination, const char *source)
| Объединение строк Подробнее...
void | substr (char *restrict dest, const char *restrict source, int from, int length)
| Вырезает и возвращает подстроку из строки Подробнее...
char * | strchr (const char *_s, char _c)
| Поиск первого вхождения символа в строку Подробнее...
void | strtolower (char *as)
| Перевод строки в нижний регистр Подробнее...
void | strtoupper (char *as)
| Перевод строки в верхний регистр Подробнее...
bool | isNumber (const char *c)
| Проверяет, является ли строка числом Подробнее...
uint32_t | atoi (const char s[])
| Превращает строку в число Подробнее...
size_t | htoi (const char *hex)
void | strver (char *str)
| Переворачивает строку задом наперед Подробнее...
size_t | itoa (int32_t n, char *buffer)
| Конвертируем число в символы Подробнее...
size_t | itou (size_t n, char *buffer)
size_t | itoh (size_t i, char *buffer)
int | dcmpstr (const char *s1, const char *s2)
char | digit_count (uint64_t num)
char | hex_count (size_t num)
bool | isnumberstr (char *a)
size_t | strcount (const char *string, char character)
| Посчитать количество символов `character` в строке `string` Подробнее...
char * | strstr (const char *haystack, const char *needle)
double | strtod (const char *str, char **endptr)
unsigned long | strtoul (const char *str, char **endptr, int base)

## Подробное описание

Функции для работы со строками

Автор
  Пиминов Никита (nikit.nosp@m.a.pi.nosp@m.minof.nosp@m.f@ya.nosp@m.ndex..nosp@m.ru), NDRAEY >_ (pikac.nosp@m.hu_a.nosp@m.ndrey.nosp@m.@vk..nosp@m.com)

Версия
  0.3.5

Дата
  2022-10-01

Авторство
  Copyright SayoriOS Team (c) 2022-2024

См. определение в файле string.c

## Функции

## ◆ atoi()

uint32_t atoi | ( | const char | s[] | ) |

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

Аргументы

  s | - Указатель на строку.

Возвращает
  uint32_t - Число

См. определение в файле string.c строка 565

## ◆ isNumber()

bool isNumber | ( | const char * | c | ) |

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

Аргументы

  c | - Указатель на строку.

Возвращает
  bool - если строка является числом

См. определение в файле string.c строка 549

## ◆ isSymbol()

bool isSymbol | ( | char | c | ) |

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

Аргументы

  с | - Символ

Возвращает
  bool - true если да

См. определение в файле string.c строка 41

## ◆ isUTF()

bool isUTF | ( | char | c | ) |

Проверяет, является ли символ формата UTF-8.

Аргументы

  с | - Символ

Возвращает
  bool - true если да

См. определение в файле string.c строка 27

## ◆ itoa()

size_t itoa | ( | int32_t | n,
|  | char * | buffer
| ) |  |

Конвертируем число в символы

Аргументы

  n | - Число
  buffer | - символы

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

См. определение в файле string.c строка 623

## ◆ mb_strlen()

size_t mb_strlen | ( | const char * | str | ) |

Возращает длину строки с учетом UTF-8.

Аргументы

  str | - Строка

Возвращает
  size_t - Длину символов

См. определение в файле string.c строка 107

## ◆ memcmp()

int32_t memcmp | ( | const char * | s1,
|  | const char * | s2,
|  | size_t | n
| ) |  |

Сравнение массивов

Аргументы

  s1 | - Указатель на строку
  s2 | - Указатель на строку
  n | - Размер сравниваемой части массива в байтах.

Возвращает
  int - Возращает 0 если строки идентичны или разницу между ними

См. определение в файле string.c строка 305

## ◆ memcpy()

void* memcpy | ( | void *restrict | destination,
|  | const void *restrict | source,
|  | size_t | n
| ) |  |

Копирование непересекающихся массивов используя SSE.

Аргументы

  dest | - Указатель на массив в который будут скопированы данные.
  src | - Указатель на массив источник копируемых данных.
  size | - Количество байт для копирования

Копирование непересекающихся массивов

Аргументы

  destination | - Указатель на массив в который будут скопированы данные.
  source | - Указатель на массив источник копируемых данных.
  n | - Количество байт для копирования

См. определение в файле string.c строка 173

## ◆ memmove()

void* memmove | ( | void * | dest,
|  | void * | src,
|  | size_t | count
| ) |  |

Копирование массивов (в том числе пересекающихся)

Аргументы

  dest | - Указатель на массив в который будут скопированы данные.
  src | - Указатель на массив источник копируемых данных
  count | - Количество байт для копирования

См. определение в файле string.c строка 220

## ◆ memset()

void* memset | ( | void * | ptr,
|  | char | value,
|  | size_t | num
| ) |  |

Заполнение массива указанными символами

Аргументы

  ptr | - Указатель на заполняемый массив
  value | - Код символа для заполнения
  size_t | size - Размер заполняемой части массива в байтах

См. определение в файле string.c строка 203

## ◆ str_bksp()

size_t str_bksp | ( | char * | str,
|  | char | c
| ) |  |

???

Аргументы

  str | - ???
  c | - ???

Возвращает
  size_t - ???

См. определение в файле string.c строка 325

## ◆ strcat()

char* strcat | ( | char * | destination,
|  | const char * | source
| ) |  |

Объединение строк

Аргументы

  s | - Указатель на массив в который будет добавлена строка
  t | - Указатель на массив из которого будет скопирована строка

Возвращает
  char* - Функция возвращает указатель на массив, в который добавлена строка

См. определение в файле string.c строка 463

## ◆ strchr()

char* strchr | ( | const char * | _s,
|  | char | _c
| ) |  |

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

Аргументы

  _s | - Указатель на строку, в которой будет осуществляться поиск.
  _c | - Код искомого символа

Возвращает
  char* - Указатель на искомый символ, если он найден в строке str, иначе nullptr.

См. определение в файле string.c строка 505

## ◆ strcmp()

int strcmp | ( | const char * | s1,
|  | const char * | s2
| ) |  |

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

Аргументы

  s1 | - Строка 1
  s2 | - Строка 2

Возвращает
  Возращает 0 если строки идентичны или разницу между ними

См. определение в файле string.c строка 253

## ◆ strcmpn()

bool strcmpn | ( | const char * | str1,
|  | const char * | str2
| ) |  |

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

Аргументы

  str1 | - Строка 1
  str2 | - Строка 2

Возвращает
  bool - Возращает true если строки идентичны

См. определение в файле string.c строка 270

## ◆ strcount()

size_t strcount | ( | const char * | string,
|  | char | character
| ) |  |

Посчитать количество символов `character` в строке `string`

Аргументы

  s1 | - Строка
  character | - Символ

Возвращает
  size_t - количество найденных символов в строке

См. определение в файле string.c строка 746

## ◆ strcpy()

int strcpy | ( | char * | dest,
|  | const char * | src
| ) |  |

Копирование строк

Аргументы

  dest | - Указатель на строку, в которую будут скопированы данные
  src | - Указатель на строку источник копируемых данных

Возвращает
  int - Функция возвращает указатель на строку, в которую скопированы данные.

См. определение в файле string.c строка 282

## ◆ strlen()

size_t strlen | ( | const char * | str | ) |

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

Аргументы

  str | - Строка

Возвращает
  size_t - Длину символов

См. определение в файле string.c строка 88

## ◆ strncmp()

int32_t strncmp | ( | const char * | s1,
|  | const char * | s2,
|  | size_t | num
| ) |  |

Сравнение строк с ограничением количества сравниваемых символов

Аргументы

  s1 | - Строка 1
  s2 | - Строка 2

Возвращает
  int - Возращает 0 если строки идентичны или разницу между ними

См. определение в файле string.c строка 394

## ◆ strncpy()

char* strncpy | ( | char * | dest,
|  | const char * | src,
|  | size_t | n
| ) |  |

Копирование строк c ограничением длины

Аргументы

  dest | - Указатель на строку, в которую будут скопированы данные
  src | - Указатель на строку источник копируемых данных
  n | - Ограничение длинны копирования

Возвращает
  char* - Функция возвращает указатель на строку, в которую скопированы данные

См. определение в файле string.c строка 447

## ◆ strpbrk()

char* strpbrk | ( | const char * | s,
|  | const char * | accept
| ) |  |

???

Аргументы

  s | - ???
  accept | - ???

Возвращает
  char* - ???

См. определение в файле string.c строка 345

## ◆ strspn()

size_t strspn | ( | const char * | s,
|  | const char * | accept
| ) |  |

Определение максимальной длины участка строки, содержащего только указанные символы

Аргументы

  s | - Указатель на строку, в которой ведется поиск
  accept | - Указатель на строку с набором символов, которые должны входить в участок строки str

Возвращает
  Длина начального участка строки, содержащая только символы, указанные в аргументе sym

См. определение в файле string.c строка 366

## ◆ strtok()

char* strtok | ( | char * | s,
|  | const char * | delim
| ) |  |

Разбиение строки на части по указанному разделителю

Аргументы

  s | - Указатель на разбиваемую строку
  delim | - Указатель на строку, содержащую набор символов разделителей

Возвращает
  int - nullptr – если строку str невозможно разделить на части или указатель на первый символ выделенной части строки.

См. определение в файле string.c строка 411

## ◆ strtolower()

void strtolower | ( | char * | as | ) |

Перевод строки в нижний регистр

Аргументы

  as | - Указатель на строку.

См. определение в файле string.c строка 519

## ◆ strtoupper()

void strtoupper | ( | char * | as | ) |

Перевод строки в верхний регистр

Аргументы

  as | - Указатель на строку.

См. определение в файле string.c строка 533

## ◆ struntil()

size_t struntil | ( | const char * | str,
|  | const char | find
| ) |  |

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

Аргументы

  str | - строка
  find | - символ, индекс которого надо найти в строке

См. определение в файле string.c строка 124

## ◆ strver()

void strver | ( | char * | str | ) |

Переворачивает строку задом наперед

Аргументы

  str | - строка символов, которая должна быть обращена

См. определение в файле string.c строка 605

## ◆ substr()

void substr | ( | char *restrict | dest,
|  | const char *restrict | source,
|  | int | from,
|  | int | length
| ) |  |

Вырезает и возвращает подстроку из строки

Аргументы

  dest | - Указатель куда будет записана строка
  source | - Указатель на исходную строку
  from | - Откуда копируем
  length | - Количество копируемых байт

См. определение в файле string.c строка 492

## ◆ SymConvert()

uint32_t SymConvert | ( | char | c,
|  | char | c1,
|  | char | c2
| ) |  |

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

Аргументы

  с | - Символ хз зачем
  с1 | - Символ нафига
  с2 | - Символ хз

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

См. определение в файле string.c строка 56

## ◆ UTFConvert()

uint32_t UTFConvert | ( | char | c,
|  | char | c1
| ) |  |

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

Аргументы

  с | - Символ
  с1 | - Символ

Предупреждения
  зачем нам c и c1 если нужен short c?

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

См. определение в файле string.c строка 77