picox  0.1
Xdynamic_string

動的文字列モジュール [詳解]

Xdynamic_string 連携図

関数

const char * xdstr_c_str (const XDynamicString *self)
 文字列のconst char*を返します
 
size_t xdstr_capacity (const XDynamicString *self)
 文字列に格納できるバイト数を返します
 
XDynamicString * xdstr_cat (XDynamicString *self, const char *str)
 文字列末尾にstrを連結して返します
 
XDynamicString * xdstr_cat_n (XDynamicString *self, const char *str, size_t len)
 文字列末尾にstrから最大len文字を連結して返します
 
XDynamicString * xdstr_cat_printf (XDynamicString *self, const char *fmt,...)
 文字列末尾にprintf形式で文字列を連結して返します
 
XDynamicString * xdstr_cat_vprintf (XDynamicString *self, const char *fmt, va_list args)
 文字列末尾にvprintf形式で文字列を連結して返します
 
XDynamicString * xdstr_clone (const XDynamicString *self)
 文字列のコピーを生成して返します
 
XDynamicString * xdstr_copy (XDynamicString *self, const char *str)
 文字列にstrをコピーして返します
 
XDynamicString * xdstr_copy_n (XDynamicString *self, const char *str, size_t len)
 文字列にstrから最大len文字をコピーして返します
 
XDynamicString * xdstr_create (const char *src)
 srcをコピーした文字列を生成して返します
 
XDynamicString * xdstr_create_empty (void)
 長さ0の文字列を生成して返します
 
XDynamicString * xdstr_create_length (const char *src, size_t len)
 srcからlenバイトをコピーした文字列を生成して返します
 
void xdstr_destroy (XDynamicString *self)
 文字列のリソースを開放します
 
size_t xdstr_length (const XDynamicString *self)
 文字列の長さを返します
 
void xdstr_range (XDynamicString *self, int first, int last)
 文字列からfirst ~ lastまで(last自身も含む)の範囲外の部分を除去します [詳解]
 
XDynamicString * xdstr_reserve (XDynamicString *self, size_t size)
 ストレージをsizeバイトまで(末尾のnullバイトを除く)格納できるサイズまで拡張して返します [詳解]
 
XDynamicString * xdstr_shrink_to_fit (XDynamicString *self)
 ストレージサイズを文字列長がちょうど収まるサイズにまで縮小して返します
 
void xdstr_to_lower (XDynamicString *self)
 文字列のアルファベットを小文字に変換します
 
void xdstr_to_upper (XDynamicString *self)
 文字列のアルファベットを大文字に変換します
 
void xdstr_trim (XDynamicString *self, const char *char_set)
 文字列からchar_setに含まれる各文字を除去します
 

詳解

動的文字列モジュール

関数詳解

void xdstr_range ( XDynamicString *  self,
int  first,
int  last 
)

文字列からfirst ~ lastまで(last自身も含む)の範囲外の部分を除去します

負の値を指定した場合、-1なら文字列終端。-2は文字列終端 - 1という具合に 末尾からのインデックスを意味します。

1 s = xdstr_create("Hello World");
2 xdstr_range(s,1,-1); => "ello World"
XDynamicString* xdstr_reserve ( XDynamicString *  self,
size_t  size 
)

ストレージをsizeバイトまで(末尾のnullバイトを除く)格納できるサイズまで拡張して返します

すでにストレージサイズがsizeバイト以上であれば自身を返します。