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

См. определение в файле 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_tsize - Размер заполняемой части массива в байтах

См. определение в файле 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