在使用中提供字符串函数和实用程序的库,在使用它之前,请执行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 );
} char *的打字。用于表示字符的向量。主要用于表示字符串的基础缓冲区,但也可以像Java中的StringBuffer一样使用, std::stringstream in C ++或汇编中的StringSink 。用C-Vector制成。
char const *的打字机。用于表示字符串。 NULL它与C Standrd库保持一致。
字符串的向量,只有CVECTOR(String) ,带有c-vector的mafe。由String_split和String_split_by_char使用。
描述不变的固定尺寸字符串的结构。
int len :长度。char const *str :指针内容。 与下面声明的功能一起,还有其他功能可以在StringBuffer上操作,这些功能是从C-VORCETER从CVECTOR_WITH_NAME MACRO生成的。
从字符串文字中创建一个弦乐器而不分配堆,仅在其创建的范围内有效。
char const * :交流字符串文字。将许多字节一逐一推入缓冲区。
StringBuffer *sb :将按下字节的缓冲区。char *bytes :将被推向字节的指针。int n :然后将推动BR的字节数。CVECTOR_STATUS ):读取C-vector的无声模式。将NULL终止字符串推入缓冲区。
StringBuffer *sb :将按下字符串的缓冲区。char *str :将被推的弦。CVECTOR_STATUS ):读取C-vector的无声模式。创建一个新的空字符串。
String ):新创建的空字符串。从字符串文字中创建一个字符串而不分配堆,仅在其创建的范围内有效。
char const * :交流字符串文字。从一大块字节中创建一个新字符串。
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 ,即使将它们翻译成psive索引或它们的长度大于或等于字符串的长度,则将返回NULL 。使用Murmurhash-2非晶体学哈希功能哈希弦。
String str :将被哈希的字符串。uint32_t ): str的哈希。在末尾附加一个普通的NULL终止字符串。
String *str :指向字符串变量的指针。它可能会将字符串重新分配到更大的内存位置,因此也需要重新分配变量。char *bstr :将附加的NULL终止字符串。CVECTOR_STATUS ):读取C-vector的无声模式。在详细模式上,如果推动任何角色失败,则将返回1 ,否则将返回1 。比较两个字符串。
String str1 ,String str2 :将比较的字符串。bool ):如果两个字符串的长度和内容相等,则为false ,则为true 。从内存中释放字符串。
String str :将释放的字符串。void )创建并返回字符串的固定版本
String str :源。FixedString ):带有第一个参数的内容的固定字符串。按字符序列拆分字符串。
String str :将分裂的字符串。char const *seq :字符序列。Vector_String ):拆分产生的新字符串。就像String_split一样,但按字符而不是序列分配。
String str :将分裂的字符串。char c :角色。Vector_String ):拆分产生的新字符串。去除领导t , , n和