Uma biblioteca que fornece funções e utilitários de string em C. Antes de usá-la, faça cd c-string/ && ./setup.sh para instalar bibliotecas.
#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 );
} Um typedef de char * . Usado para representar um vetor de caracteres. É usado principalmente para representar o buffer subjacente da string, mas também pode ser usado como StringBuffer em java, std::stringstream em c ++ ou StringSink no Assemblyscript. Feito com vetor C.
Um typedef de char const * . Usado para representar uma string. É encerrado NULL para manter -se compatível com a biblioteca C. Standrd.
Um vetor de cordas, apenas CVECTOR(String) , mafe com vetor C. Usado por String_split e String_split_by_char .
Uma estrutura descrevendo uma string imutável de tamanho fixo.
int len : o comprimento.char const *str : o ponteiro do conteúdo. Juntamente com as funções declaradas abaixo, existem outras funções que operam no StringBuffer que são geradas a partir da macro cvector_with_name do C-vetor.
Cria um StringBuffer a partir de uma string literal sem alocar na pilha, válida apenas dentro do escopo que é criado.
char const * : AC String literal.Empurra vários bytes um a um para o buffer.
StringBuffer *sb : O buffer onde os bytes serão empurrados.char *bytes : O ponteiro para os bytes que serão empurrados.int n : Então, número de bytes que irão BR empurraram.CVECTOR_STATUS ): Leia o modo silencioso do vetor C. Empurra uma corda terminada NULL para o buffer.
StringBuffer *sb : O buffer onde a string será pressionada.char *str : A sequência que será empurrada.CVECTOR_STATUS ): Leia o modo silencioso do vetor C.Cria uma nova string vazia.
String ): a string vazia recém -criada.Cria uma string de uma string literal sem alocar na pilha, válida apenas dentro do escopo que ela é criada.
char const * : AC String literal.Cria uma nova string de um pedaço de bytes.
char *bytes : O ponteiro para os bytes que serão usados como conteúdo.int n : o número de bytes que serão usados.String ): a nova string com o pedaço se bytes como conteúdo. Cria uma nova string a partir de uma string NULL simples.
char *str : A sequência terminada NULL .String ): A nova string com a sequência NULL terminada como conteúdo.String str : a string.int ): o comprimento da string. Clones uma corda. Funciona como strdup duplica uma string terminada NULL .
String str : a string que será clonada.String ): uma nova string idêntica.Concatena o conteúdo de duas cordas em uma.
String str1 : a primeira string.String str2 : a segunda string.String ): Uma nova string com o conteúdo concatenado. Fatia um segmento de uma string. A indexação para trás negativa é permitida (ou seja, o índice -1 refere -se ao último item).
String str : a string a partir da qual o segmento será cortado.int fi : o índice de início.int li : o índice final.String ): o segmento fatiado. Se fi for menor que li ou fi / li for menor que 0 , mesmo depois de serem traduzidos para índices Psitivos ou se forem maiores ou iguais que o comprimento da corda, NULL será retornado.Hashes uma corda usando a função de hash não criptográfica Murmurhash-2.
String str : a string que será hashed.uint32_t ): o hash de str . Anexa uma string NULL no final.
String *str : o ponteiro para a variável string. Provavelmente, ele realocará a string para um local maior de memória, por isso precisa reatribuir a variável também.char *bstr : A string terminada NULL que será anexada.CVECTOR_STATUS ): Leia o modo silencioso do vetor C. No modo de verbose, ele retornará 1 se empurrar algum dos caracteres falhar, caso contrário, 1 .Compara duas cordas.
String str1 ,String str2 : As strings que serão comparadas.bool ): true se ambas as seqüências forem iguais em comprimento e conteúdo, caso contrário, false .Libera a corda da memória.
String str : a string que será libertada.void )Cria e retorna a versão fixa de uma string
String str : a fonte.FixedString ): A sequência fixa com o conteúdo do primeiro argumento.Divide uma corda por uma sequência de caracteres.
String str : a string que será dividida.char const *seq : a sequência do personagem.Vector_String ): As novas seqüências resultantes da divisão. Como String_split , mas se divide por um personagem em vez de uma sequência.
String str : a string que será dividida.char c : O personagem.Vector_String ): As novas seqüências resultantes da divisão. Remove os principais t , , n e