在使用中提供字符串函數和實用程序的庫,在使用它之前,請執行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和