cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
 全て データ構造 ファイル 関数 変数 型定義 列挙型 列挙値 マクロ定義
CmnString.h
[詳解]
1 
12 #ifndef CMNCLIB_CMN_STRING_H
13 #define CMNCLIB_CMN_STRING_H
14 
15 #include "cmnclib/Common.h"
16 #include "cmnclib/CmnData.h"
17 
22 
24 #define EQUAL 0
25 
27 typedef struct _tag_CmnStringBuffer {
29  char *string;
30  size_t length;
32 
33 /* --- CmnString.c --- */
34 D_EXTERN char *CmnString_RTrim(char *str);
35 D_EXTERN char *CmnString_LTrim(char *str);
36 D_EXTERN char *CmnString_Trim(char *str);
37 D_EXTERN char* CmnString_Replace(const char *src, const char *befor, const char *after, char *dest);
38 D_EXTERN char* CmnString_ReplaceNew(const char *src, const char *befor, const char *after);
39 D_EXTERN char* CmnString_StrCatNew(const char *left, const char *right);
40 D_EXTERN char* CmnString_StrCopyNew(const char *str);
41 D_EXTERN char* CmnString_StrEol(const char *str, char *delim);
42 D_EXTERN int CmnString_Split(char *buf, size_t rowlen, size_t collen, const char *str, const char *delim);
43 D_EXTERN CmnStringList* CmnString_SplitAsList(CmnStringList *list, const char *str, const char *delim);
44 D_EXTERN CmnStringList* CmnString_SplitLine(CmnStringList *list, const char *str);
45 D_EXTERN char* CmnString_Lpad(char *buf, const char *str, char padch, size_t digit);
46 D_EXTERN char* CmnString_Rpad(char *buf, const char *str, char padch, size_t digit);
47 D_EXTERN int CmnString_StartWith(const char *str, const char *mark);
48 D_EXTERN int CmnString_EndWith(const char *str, const char *mark);
49 D_EXTERN int CmnString_IndexOf(const char *str, const char *mark);
50 D_EXTERN int CmnString_LastIndexOf(const char *str, const char *mark);
51 
52 /* --- CmnStringList.c --- */
54 D_EXTERN void CmnStringList_Free(CmnStringList *list);
55 D_EXTERN void CmnStringList_Add(CmnStringList *list, const char *str);
56 D_EXTERN char *CmnStringList_Get(CmnStringList *list, int index);
57 
58 /* --- CmnStringBuffer.c --- */
59 D_EXTERN CmnStringBuffer* CmnStringBuffer_Create(const char *str);
60 D_EXTERN int CmnStringBuffer_Append(CmnStringBuffer *buf, const char *str);
61 D_EXTERN int CmnStringBuffer_Set(CmnStringBuffer *buf, const char *str);
63 D_EXTERN void CmnStringBuffer_Free(CmnStringBuffer *buf);
64 
65 
66 #endif /* CMNCLIB_CMN_STRING_H */
67 
Definition: CmnData.h:24
D_EXTERN char * CmnString_Rpad(char *buf, const char *str, char padch, size_t digit)
文字列の右側パディング
Definition: CmnString.c:432
D_EXTERN char * CmnString_ReplaceNew(const char *src, const char *befor, const char *after)
文字列置換(動的メモリ確保)
Definition: CmnString.c:145
D_EXTERN CmnStringList * CmnStringList_Create()
文字列リスト作成
Definition: CmnStringList.c:28
D_EXTERN char * CmnString_Replace(const char *src, const char *befor, const char *after, char *dest)
文字列置換
Definition: CmnString.c:109
Definition: CmnData.h:44
D_EXTERN int CmnString_LastIndexOf(const char *str, const char *mark)
strのなかで最後に出現するmarkの位置(先頭文字をゼロとした文字数)を返す。
Definition: CmnString.c:520
D_EXTERN void CmnStringList_Add(CmnStringList *list, const char *str)
文字列リスト要素追加
Definition: CmnStringList.c:67
D_EXTERN char * CmnStringList_Get(CmnStringList *list, int index)
文字列リスト要素取得
Definition: CmnStringList.c:92
D_EXTERN int CmnString_IndexOf(const char *str, const char *mark)
strのなかで最初に出現するmarkの位置(先頭文字をゼロとした文字数)を返す。
Definition: CmnString.c:499
D_EXTERN int CmnString_Split(char *buf, size_t rowlen, size_t collen, const char *str, const char *delim)
文字列分割(into配列)
Definition: CmnString.c:260
D_EXTERN CmnStringList * CmnString_SplitAsList(CmnStringList *list, const char *str, const char *delim)
文字列分割(into CmnDataList)
Definition: CmnString.c:308
D_EXTERN char * CmnString_RTrim(char *str)
右側トリム
Definition: CmnString.c:27
D_EXTERN int CmnStringBuffer_Append(CmnStringBuffer *buf, const char *str)
文字列バッファへのデータ追加
Definition: CmnStringBuffer.c:63
D_EXTERN void CmnStringList_Free(CmnStringList *list)
文字列リスト解放
Definition: CmnStringList.c:48
CmnDataBuffer * _buf
Definition: CmnString.h:28
構造化データ操作 共通関数 I/Fヘッダファイル
D_EXTERN char * CmnString_Lpad(char *buf, const char *str, char padch, size_t digit)
文字列の左側パディング
Definition: CmnString.c:403
struct _tag_CmnStringBuffer CmnStringBuffer
D_EXTERN char * CmnString_LTrim(char *str)
左側トリム
Definition: CmnString.c:68
D_EXTERN int CmnStringBuffer_Set(CmnStringBuffer *buf, const char *str)
文字列バッファへのデータ設定
Definition: CmnStringBuffer.c:94
CmnDataList CmnStringList
Definition: CmnString.h:21
D_EXTERN char * CmnString_Trim(char *str)
トリム
Definition: CmnString.c:87
共通関数 メインヘッダファイル
char * string
Definition: CmnString.h:29
D_EXTERN int CmnString_StartWith(const char *str, const char *mark)
対象文字列が特定文字列で始まっているかチェックする
Definition: CmnString.c:457
D_EXTERN CmnStringList * CmnString_SplitLine(CmnStringList *list, const char *str)
文字列を改行コード(CRLF/LF/CRの何れか)で分解してlistに格納する。
Definition: CmnString.c:355
size_t length
Definition: CmnString.h:30
Definition: CmnString.h:27
D_EXTERN char * CmnString_StrCopyNew(const char *str)
文字列コピー(動的メモリ確保)
Definition: CmnString.c:203
D_EXTERN int CmnStringBuffer_SetByCmnDataBuffer(CmnStringBuffer *buf, const CmnDataBuffer *dat)
文字列バッファへのデータ設定(by CmnDataBuffer)
Definition: CmnStringBuffer.c:123
D_EXTERN char * CmnString_StrEol(const char *str, char *delim)
改行コード(End Of Line:CRLF( ) or LF( ) or CR())を検索する。
Definition: CmnString.c:223
D_EXTERN char * CmnString_StrCatNew(const char *left, const char *right)
文字列連結(動的メモリ確保)
Definition: CmnString.c:178
D_EXTERN int CmnString_EndWith(const char *str, const char *mark)
対象文字列が特定文字列で終わっているかチェックする
Definition: CmnString.c:475
D_EXTERN void CmnStringBuffer_Free(CmnStringBuffer *buf)
文字列バッファの解放
Definition: CmnStringBuffer.c:149
D_EXTERN CmnStringBuffer * CmnStringBuffer_Create(const char *str)
文字列バッファ作成
Definition: CmnStringBuffer.c:23