メインページ | アルファベット順一覧 | データ構造 | ファイル一覧 | データフィールド | グローバル | 関連ページ

string.c

string.c [詳細]

#include "string.h"

string.cのインクルード依存関係図

ソースコードを見る。

関数

DKC_INLINE char * dkcstd_strcpy (char *string1, const char *string2)
DKC_INLINE char * dkcstd_strncpy (char *string1, const char *string2, size_t count)
DKC_INLINE size_t dkcstd_strlen (const char *s)
DKC_INLINE int dkcstd_strcmp (const char *a, const char *b)
DKC_INLINE int dkcstd_strncmp (const char *a, const char *b, size_t size)
DKC_INLINE char * dkcstd_strstr (const char *string1, const char *string2)
DKC_INLINE char * dkcstd_strncat (char *string1, const char *string2, size_t count)
DKC_INLINE size_t dkcstd_wcslen (const wchar_t *string)
 strlen for unicode
DKC_INLINE wchar_tdkcstd_wcsncpy (wchar_t *string1, const wchar_t *string2, size_t count)
 strncpy for unicode
DKC_INLINE wchar_tdkcstd_wcsncat (wchar_t *string1, const wchar_t *string2, size_t count)
 strncat for unicode


説明

string.c

作者:
d金魚
から:
2005/01/17

string.c で定義されています。


関数

DKC_INLINE int dkcstd_strcmp const char *  a,
const char *  b
 

バグ:
'' == 0 としないと バグる。

string.c52 行で定義されています。

00052                                                          {
00053     size_t i;
00054     for(i = 0;; i++)
00055     {
00056         //if(b[i] == '\0' || a[i] == '\0'){
00057         if(0==(b[i] & a[i])){
00058             break;
00059         }
00060         if(b[i] != a[i]){
00061             return ((int)*a - (int)*b);
00062         }
00063     }
00064     return 0;
00065 
00066 }

DKC_INLINE char* dkcstd_strcpy char *  string1,
const char *  string2
 

string.c21 行で定義されています。

00021                                                                     {
00022     
00023     size_t i;
00024     for(i=0;string2[i] != '\0';i++){
00025         string1[i] = string2[i];
00026     }
00027     return string1;
00028 
00029 }

DKC_INLINE size_t dkcstd_strlen const char *  s  ) 
 

string.c43 行で定義されています。

参照元 dkcstd_strncat(), と dkcstd_strstr().

00043                                               {
00044     size_t i=0;
00045     while(s[i] != '\0'){
00046         i++;
00047     }
00048     return i;
00049 }

DKC_INLINE char* dkcstd_strncat char *  string1,
const char *  string2,
size_t  count
 

string.c99 行で定義されています。

参照先 dkcstd_strlen(), と dkcstd_strncpy().

00100 {
00101     //size_t i;
00102     size_t len = dkcstd_strlen(string1);
00103 
00104     return dkcstd_strncpy(&string1[len],string2,count);
00105 }

DKC_INLINE int dkcstd_strncmp const char *  a,
const char *  b,
size_t  size
 

string.c68 行で定義されています。

参照元 dkcstd_strstr().

00069 {
00070     size_t i;
00071     for(i = 0; i < size; i++)
00072     {
00073         if(b[i] == '\0' && a[i] == '\0'){
00074         //if(0==(b[i] ^ a[i]){
00075             break;
00076         }
00077         if(b[i] != a[i]){
00078             return ((int)*a - (int)*b);
00079         }
00080     }
00081     return 0;
00082 }

DKC_INLINE char* dkcstd_strncpy char *  string1,
const char *  string2,
size_t  count
 

string.c32 行で定義されています。

参照元 dkcstd_strncat().

00033 {
00034     size_t i;
00035     for(i=0;i < count || string2[i] != '\0';i++)
00036     {
00037         string1[i] = string2[i];    
00038     }
00039 
00040     return string1;
00041 }

DKC_INLINE char* dkcstd_strstr const char *  string1,
const char *  string2
 

string.c84 行で定義されています。

参照先 dkcstd_strlen(), dkcstd_strncmp(), と NULL.

00085 {
00086     const char *p = string1;
00087     size_t len = dkcstd_strlen(string2);
00088     while(*p)
00089     {
00090         if(dkcstd_strncmp(p, string2,len ) == 0)
00091         {
00092             return (char*)p;
00093         }
00094         p++;
00095     }
00096     return NULL;
00097 }

DKC_INLINE size_t dkcstd_wcslen const wchar_t string  ) 
 

strlen for unicode

string.c112 行で定義されています。

参照元 dkcstd_wcsncat().

00113 {
00114     size_t i=0;
00115     while(string[i] != L'\0'){
00116         i++;
00117     }
00118     return i;
00119 }

DKC_INLINE wchar_t* dkcstd_wcsncat wchar_t string1,
const wchar_t string2,
size_t  count
 

strncat for unicode

string.c134 行で定義されています。

参照先 dkcstd_wcslen(), と dkcstd_wcsncpy().

00135 {
00136     //size_t i;
00137     size_t len = dkcstd_wcslen(string1);
00138 
00139     return dkcstd_wcsncpy(&string1[len],string2,count);
00140     
00141 }

DKC_INLINE wchar_t* dkcstd_wcsncpy wchar_t string1,
const wchar_t string2,
size_t  count
 

strncpy for unicode

string.c122 行で定義されています。

参照元 dkcstd_wcsncat().

00123 {
00124     size_t i;
00125     for(i=0;i < count || string2[i] != L'\0';i++)
00126     {
00127         string1[i] = string2[i];    
00128     }
00129 
00130     return string1;
00131 
00132 }


dkutil_cstdに対してSat Sep 10 09:19:30 2005に生成されました。  doxygen 1.4.4