Библиотека, предоставляющая строковые функции и утилиты в C. Перед использованием его, выполняйте cd c-string/ && ./setup.sh для установки библиотек.
#include <c-string/lib.h>
#include <stdio.h>
#include <assert.h>
#include <string.h>
int main ( void ) {
String str = String_from ( "Hello, world!" );
printf ( "%sn" , str ); // Works, since it is NULL terminated.
String_append ( & str , "nfoo bar" );
printf ( "%sn" , str );
String str2 = String_clone ( str );
assert ( String_equal ( str , str2 )); // Identical
String_append ( & str2 , "nbaz" );
assert (! String_equal ( str , str2 )); // Different, since one of them changed.
String str3 = String_slice ( str2 , 0 , 5 );
assert (! strcmp ( str3 , "Hello" )); // You can use strcmp because it is NULL terminated.
// Always be sure to cleanup(aka. free) the strings to prevent memory leaks.
String_cleanup ( str );
String_cleanup ( str2 );
String_cleanup ( str3 );
} Typedef of char * . Используется для представления вектора символов. В основном используется для представления базового буфера строки, но также может использоваться как StringBuffer в Java, std::stringstream в C ++ или StringSink в AssemblyScript. Сделано с C-вектором.
Typedef of char const * . Используется для представления строки. Это NULL прервано, чтобы оставаться совместимым с библиотекой CNTDRD.
Вектор струн, просто CVECTOR(String) , мафе с C-вектором. Используется String_split и String_split_by_char .
Структура, описывающая неизменную строку с фиксированным размером.
int len : длина.char const *str : указатель на содержание. Вместе с функциями, объявленными ниже, существуют другие функции, которые работают на StringBuffer, которые генерируются с макроса CVECTOR_WITH_NAME с C-Vector.
Создает StringBuffer из строкового буквального, не выделяя кучу, действительный только внутри прицела, который он создан.
char const * : ac String Literal.Толкает несколько байтов один за другим в буфер.
StringBuffer *sb : буфер, где будут толкаться байты.char *bytes : указатель на байты, которые будут выдвинуты.int n : затем количество байтов, которые будут толкать.CVECTOR_STATUS ): читать молчаливый режим C-вектора. Толкает NULL завершенную строку в буфер.
StringBuffer *sb : буфер, где будет натолкнут строка.char *str : строка, которая будет выдвинута.CVECTOR_STATUS ): читать молчаливый режим C-вектора.Создает новую пустую строку.
String ): недавно созданная пустая строка.Создает строку из строковой буквации, не выделяя кучу, действительную только внутри прицела, которую она создается.
char const * : ac String Literal.Создает новую строку из куски байтов.
char *bytes : указатель на байты, которые будут использоваться в качестве контента.int n : количество байтов, которые будут использоваться.String ): новая строка с кусочком, если байты в качестве контента. Создает новую строку из простой NULL завершенной строки.
char *str : NULL завершенная строка.String ): новая строка с NULL завершенной строкой как контент.String str : строка.int ): длина строки. Клоны строки. Работает так же, как strdup дублирует NULL завершенную строку.
String str : строка, которая будет клонирована.String ): новая идентичная строка.Объединяет содержимое двух строк в одну.
String str1 : первая строка.String str2 : вторая строка.String ): новая строка с содержимым содержимым. Разрежны сегмент строки. Негативная обратная индексация разрешена (т.е. индекс -1 относится к последнему элементу).
String str : строка, из которой будет нарезан сегмент.int fi : начальный индекс.int li : конечный индекс.String ): нарезанный сегмент. Если fi меньше, чем li или fi / li , меньше 0 , даже после того, как они переведены в Pestive Indics или если они больше или равны, чем длина струны, будет возвращено NULL .Хэши строка с использованием некриптографической функции хэширования Murmurhash-2.
String str : строка, которая будет хэширована.uint32_t ): хэш str . Добавляет простую NULL расторгнутую строку в конце.
String *str : указатель на переменную строки. Это, вероятно, перераспределяет строку в более широкое местоположение памяти, поэтому она также должна переназначить переменную.char *bstr : NULL завершенная строка, которая будет добавлена.CVECTOR_STATUS ): читать молчаливый режим C-вектора. На словесном режиме он вернется 1 , если нажимать любой из символов не удается, в противном случае 1 .Сравнивает две строки.
String str1 ,String str2 : строки, которые будут сравниваться.bool ): true , если обе строки равны по длине и содержанию, в противном случае false .Освобождает строку из памяти.
String str : строка, которая будет освобождена.void )Создает и возвращает фиксированную версию строки
String str : источник.FixedString ): фиксированная строка с содержимым первого аргумента.Разбивает строку по последовательности символов.
String str : строка, которая будет разделена.char const *seq : последовательность символов.Vector_String ): новые строки, которые возникли в результате раскола. Как String_split , но расщепляется символом вместо последовательности.
String str : строка, которая будет разделена.char c : персонаж.Vector_String ): новые строки, которые возникли в результате раскола. Удаляет ведущий t , , n и