00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef _STRING_H
00017 #define _STRING_H
00018
00019 #include <stddef.h>
00020 #include <stdarg.h>
00021
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025
00026
00027
00028 void * memchr(const void *, int, size_t);
00029 void * memcpy(void *, const void *, size_t);
00030 void * memmove(void *, const void *, size_t);
00031 void * memset(void *, int, size_t);
00032
00033 int memcmp(const void *, const void *, size_t);
00034
00035 int strcmp(const char *, const char *);
00036 int strncmp(const char *, const char *, size_t);
00037
00038 unsigned int strlen(const char *);
00039
00040 char * strdup(const char *s);
00041
00042 char * strcat(char *, const char *);
00043 char * strchr(const char *, int);
00044 char * strcpy(char *, const char *);
00045 char * strncat(char *, const char *, size_t);
00046 char * strncpy(char *, const char *, size_t);
00047
00048 char * strpbrk(const char *s, const char *accept);
00049 size_t strspn(const char *s, const char *accept);
00050 size_t strcspn(const char *s, const char *reject);
00051
00052 static __inline__ int strcoll(const char *s1, const char *s2) { return strcmp(s1, s2); }
00053 static __inline__ size_t strxfrm(char *dest, const char *src, size_t n) { strncpy(dest, src, n); return n; }
00054
00055 char * strerror(int);
00056
00057
00058
00059
00060
00061
00062 int strcpy_sjis(short* sjis_buff, const char* ascii_buff);
00063
00064
00065
00066
00067
00068
00069 int strcpy_ascii(char* ascii_buff, const short* sjis_buff);
00070
00071
00072
00073 #define stricmp strcasecmp
00074 #define strnicmp strncasecmp
00075
00076 int strcasecmp(const char *, const char *);
00077 int strncasecmp(const char *, const char *, size_t);
00078
00079 char * strtok(char *, const char *);
00080 char * strrchr(const char *, int);
00081
00082 char * strstr(const char *, const char *);
00083
00084 char * strupr(char *);
00085 char * strlwr(char *);
00086
00087 static __inline__ void bzero(void * p, size_t n) { memset(p, 0, n); }
00088 static __inline__ void bcopy(const void * s, void * d, size_t n) { memcpy(d, s, n); }
00089 static __inline__ int bcmp(const void * s1, const void * s2, size_t n) { return memcmp(s1, s2, n); }
00090 static __inline__ char * index(const char * s, int c) { return strchr(s, c); }
00091 static __inline__ char * rindex(const char * s, int c) { return strrchr(s, c); }
00092
00093
00094 #include <ctype.h>
00095
00096 #ifdef __cplusplus
00097 }
00098 #endif
00099
00100 #endif // _STRING_H