|
cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
|
文字列操作 共通関数 [詳解]
#include <stdio.h>#include <stdlib.h>#include <string.h>#include "cmnclib/Common.h"#include "cmnclib/CmnString.h"#include "cmnclib/CmnLog.h"関数 | |
| char * | CmnString_RTrim (char *str) |
| 右側トリム [詳解] | |
| char * | CmnString_LTrim (char *str) |
| 左側トリム [詳解] | |
| char * | CmnString_Trim (char *str) |
| トリム [詳解] | |
| char * | CmnString_Replace (const char *src, const char *befor, const char *after, char *dest) |
| 文字列置換 [詳解] | |
| char * | CmnString_ReplaceNew (const char *src, const char *befor, const char *after) |
| 文字列置換(動的メモリ確保) [詳解] | |
| char * | CmnString_StrCatNew (const char *left, const char *right) |
| 文字列連結(動的メモリ確保) [詳解] | |
| char * | CmnString_StrCopyNew (const char *str) |
| 文字列コピー(動的メモリ確保) [詳解] | |
| char * | CmnString_StrEol (const char *str, char *delim) |
| 改行コード(End Of Line:CRLF( ) or LF( ) or CR())を検索する。 [詳解] | |
| int | CmnString_Split (char *buf, size_t rowlen, size_t collen, const char *str, const char *delim) |
| 文字列分割(into配列) [詳解] | |
| CmnStringList * | CmnString_SplitAsList (CmnStringList *list, const char *str, const char *delim) |
| 文字列分割(into CmnDataList) [詳解] | |
| CmnStringList * | CmnString_SplitLine (CmnStringList *list, const char *str) |
| 文字列を改行コード(CRLF/LF/CRの何れか)で分解してlistに格納する。 [詳解] | |
| char * | CmnString_Lpad (char *buf, const char *str, char padch, size_t digit) |
| 文字列の左側パディング [詳解] | |
| char * | CmnString_Rpad (char *buf, const char *str, char padch, size_t digit) |
| 文字列の右側パディング [詳解] | |
| int | CmnString_StartWith (const char *str, const char *mark) |
| 対象文字列が特定文字列で始まっているかチェックする [詳解] | |
| int | CmnString_EndWith (const char *str, const char *mark) |
| 対象文字列が特定文字列で終わっているかチェックする [詳解] | |
| int | CmnString_IndexOf (const char *str, const char *mark) |
| strのなかで最初に出現するmarkの位置(先頭文字をゼロとした文字数)を返す。 [詳解] | |
| int | CmnString_LastIndexOf (const char *str, const char *mark) |
| strのなかで最後に出現するmarkの位置(先頭文字をゼロとした文字数)を返す。 [詳解] | |
文字列操作 共通関数
文字列操作系共通関数のうち、特に汎用的な関数郡が実装されている。
| int CmnString_EndWith | ( | const char * | str, |
| const char * | mark | ||
| ) |
対象文字列が特定文字列で終わっているかチェックする
| str | 対象文字列 |
| mark | チェックする文字列 |
| int CmnString_IndexOf | ( | const char * | str, |
| const char * | mark | ||
| ) |
strのなかで最初に出現するmarkの位置(先頭文字をゼロとした文字数)を返す。
| str | ベース文字列 |
| mark | 検索する文字列 |
| int CmnString_LastIndexOf | ( | const char * | str, |
| const char * | mark | ||
| ) |
strのなかで最後に出現するmarkの位置(先頭文字をゼロとした文字数)を返す。
| str | ベース文字列 |
| mark | 検索する文字列 |
| char* CmnString_Lpad | ( | char * | buf, |
| const char * | str, | ||
| char | padch, | ||
| size_t | digit | ||
| ) |
文字列の左側パディング
| buf | パディング後の文字列を格納するバッファ |
| str | 元文字列 |
| padch | パディングする文字 |
| digit | パディング後何文字にするか |
| char* CmnString_LTrim | ( | char * | str | ) |
左側トリム
文字列の左側のスペースを削除する
| str | (I) トリム処理対象の文字列 |
| char* CmnString_Replace | ( | const char * | src, |
| const char * | befor, | ||
| const char * | after, | ||
| char * | dest | ||
| ) |
文字列置換
srcを読み込み、oldをnewに置換した文字列をdestに格納する。
| src | (I) 元文字列 |
| befor | (I) 置換対象文字列 |
| after | (I) 置換後文字列 |
| dest | (O) 置換処理後の文字列を格納するバッファ |
| char* CmnString_ReplaceNew | ( | const char * | src, |
| const char * | befor, | ||
| const char * | after | ||
| ) |
文字列置換(動的メモリ確保)
srcを読み込み、oldをnewに置換した文字列を生成する。
| src | (I) 元文字列 |
| befor | (I) 置換対象文字列 |
| after | (I) 置換後文字列 |
| char* CmnString_Rpad | ( | char * | buf, |
| const char * | str, | ||
| char | padch, | ||
| size_t | digit | ||
| ) |
文字列の右側パディング
| buf | パディング後の文字列を格納するバッファ |
| str | 元文字列 |
| padch | パディングする文字 |
| digit | パディング後何文字にするか |
| char* CmnString_RTrim | ( | char * | str | ) |
右側トリム
文字列の右側のスペースを削除する
| str | (I/O) トリム処理対象の文字列 |
| int CmnString_Split | ( | char * | buf, |
| size_t | rowlen, | ||
| size_t | collen, | ||
| const char * | str, | ||
| const char * | delim | ||
| ) |
文字列分割(into配列)
strをdelimで分割してbufに格納する。 bufには十分なサイズを確保しておくこと。
| buf | 分割後の文字列を格納する2次元配列。例:最大100文字の文字列を最大10個格納可能とする場合 -> cahr[10][100] |
| rowlen | bufの配列要素数。例の場合は10 |
| collen | buf1要素あたりのの最大文字数。例の場合は100 |
| str | 分割対象の文字列 |
| delim | 区切り文字(列) |
| CmnStringList* CmnString_SplitAsList | ( | CmnStringList * | list, |
| const char * | str, | ||
| const char * | delim | ||
| ) |
文字列分割(into CmnDataList)
strをdelimで分割してlistに格納する。
| list | 分割後の文字列を格納するリスト。リストの要素はmallocしたchar*となる。 リストのFree時に各要素も合わせてFreeされるため、各要素の個別Freeは不要。 |
| str | 分割対象の文字列 |
| delim | 区切り文字(列) |
| CmnStringList* CmnString_SplitLine | ( | CmnStringList * | list, |
| const char * | str | ||
| ) |
文字列を改行コード(CRLF/LF/CRの何れか)で分解してlistに格納する。
| list | 1行1要素に分解したリスト。空行には""(空文字列)が入る。 |
| str | 対象文字列 |
| int CmnString_StartWith | ( | const char * | str, |
| const char * | mark | ||
| ) |
対象文字列が特定文字列で始まっているかチェックする
| str | 対象文字列 |
| mark | チェックする文字列 |
| char* CmnString_StrCatNew | ( | const char * | left, |
| const char * | right | ||
| ) |
文字列連結(動的メモリ確保)
leftとrightを連結した文字列を生成する。
| left | (I) 左側文字列 |
| right | (I) 右側文字列 |
| char* CmnString_StrCopyNew | ( | const char * | str | ) |
文字列コピー(動的メモリ確保)
strをコピーした文字列を生成する。
| str | (I) 文字列 |
| char* CmnString_StrEol | ( | const char * | str, |
| char * | delim | ||
| ) |
改行コード(End Of Line:CRLF(
) or LF(
) or CR())を検索する。
| str | 検索対象の文字列 |
| delim | 一番最初に見つかった改行コード( or or )を設定する。3bytes以上のバッファとすること。 |
| char* CmnString_Trim | ( | char * | str | ) |
トリム
文字列の両側のスペースを削除する
| str | (I/O) トリム処理対象の文字列 |