SayoriOS 0.3.3

string.h
1 #pragma once
2
3 #include "common.h"
4
5 int32_t memcmp(const char *s1, const char *s2, size_t n);
6 void* memcpy(void *restrict destination, const void *restrict source, size_t n);
7 void* memset(void* ptr, char value, size_t num);
8 void* memmove(void *dest, void *src, size_t count);
9
10 void strver(char *str);
11 char *strcat(char *s, const char *t);
12 size_t strspn(const char *s, const char *accept);
13 int strcpy(char* dest, const char* src);
14 char *strtok(char *s, const char *delim);
15 size_t strlen(const char *str);
16 bool strcmpn(const char *str1, const char *str2);
17 size_t mb_strlen(const char *str);
18 void substr(char* restrict dest, const char* restrict source, int from, int length);
19 int strcmp(const char *s1, const char *s2);
20 int32_t strncmp(const char *s1, const char *s2, size_t num);
21
22 char digit_count(uint64_t num);
23 char hex_count(size_t num);
24 size_t itoh(size_t n, char *buffer);
25 size_t itou(size_t n, char *buffer);
26 char *strchr(const char *_s, char _c);
27 size_t struntil(const char* str, const char find);
28 bool isnumberstr(char* a);
29
30 bool isUTF(char c);
31
32 void sse_memcpy(void* restrict dest, const void* restrict src, size_t size);
33
34 size_t strcount(const char* string, char character);
35 char* strstr(const char* haystack, const char* needle);
36 char *strncpy(char *dest, const char *src, size_t n);
37
38 uint32_t atoi(const char s[]);
39
40 SAYORI_INLINE bool isdigit(char a) {
41 return a >= '0' && a <= '9';
42 }
common.h
Основные определения ядра
strlen
size_t strlen(const char *str)
Возращает длину строки
Definition: string.c:88
strcmp
int strcmp(const char *s1, const char *s2)
Сравнение строк
Definition: string.c:253
atoi
uint32_t atoi(const char s[])
Превращает строку в число
Definition: string.c:565
strcmpn
bool strcmpn(const char *str1, const char *str2)
Сравнение строк
Definition: string.c:270
strncmp
int32_t strncmp(const char *s1, const char *s2, size_t num)
Сравнение строк с ограничением количества сравниваемых символов
Definition: string.c:394
strcount
size_t strcount(const char *string, char character)
Посчитать количество символов character в строке string
Definition: string.c:746
strncpy
char * strncpy(char *dest, const char *src, size_t n)
Копирование строк c ограничением длины
Definition: string.c:447
strchr
char * strchr(const char *_s, char _c)
Поиск первого вхождения символа в строку
Definition: string.c:505
strver
void strver(char *str)
Переворачивает строку задом наперед
Definition: string.c:605
memset
void * memset(void *ptr, char value, size_t num)
Заполнение массива указанными символами
Definition: string.c:203
strtok
char * strtok(char *s, const char *delim)
Разбиение строки на части по указанному разделителю
Definition: string.c:411
mb_strlen
size_t mb_strlen(const char *str)
Возращает длину строки с учетом UTF-8.
Definition: string.c:107
memcpy
void * memcpy(void *restrict destination, const void *restrict source, size_t n)
Копирование непересекающихся массивов используя SSE.
Definition: string.c:173
strspn
size_t strspn(const char *s, const char *accept)
Определение максимальной длины участка строки, содержащего только указанные символы
Definition: string.c:366
substr
void substr(char *restrict dest, const char *restrict source, int from, int length)
Вырезает и возвращает подстроку из строки
Definition: string.c:492
isUTF
bool isUTF(char c)
Проверяет, является ли символ формата UTF-8.
Definition: string.c:27
memcmp
int32_t memcmp(const char *s1, const char *s2, size_t n)
Сравнение массивов
Definition: string.c:305
strcpy
int strcpy(char *dest, const char *src)
Копирование строк
Definition: string.c:282
memmove
void * memmove(void *dest, void *src, size_t count)
Копирование массивов (в том числе пересекающихся)
Definition: string.c:220
struntil
size_t struntil(const char *str, const char find)
Возвращает индекс символа в строке
Definition: string.c:124
strcat
char * strcat(char *destination, const char *source)
Объединение строк
Definition: string.c:463