00001 /* 00002 ********************************************************************** 00003 * Copyright (C) 1998-1999, International Business Machines 00004 * Corporation and others. All Rights Reserved. 00005 ********************************************************************** 00006 * 00007 * File ustring.h 00008 * 00009 * Modification History: 00010 * 00011 * Date Name Description 00012 * 12/07/98 bertrand Creation. 00013 ******************************************************************************* 00014 */ 00015 00016 #ifndef USTRING_H 00017 #define USTRING_H 00018 #include "unicode/utypes.h" 00019 00027 U_CAPI int32_t U_EXPORT2 00028 u_strlen(const UChar *s); 00029 00040 U_CAPI UChar* U_EXPORT2 00041 u_strcat(UChar *dst, 00042 const UChar *src); 00043 00054 U_CAPI UChar* U_EXPORT2 00055 u_strncat(UChar *dst, 00056 const UChar *src, 00057 int32_t n); 00058 00068 U_CAPI UChar* U_EXPORT2 00069 u_strchr(const UChar *s, 00070 UChar c); 00071 00082 U_CAPI int32_t U_EXPORT2 00083 u_strcmp(const UChar *s1, 00084 const UChar *s2); 00085 00097 U_CAPI int32_t U_EXPORT2 00098 u_strncmp(const UChar *ucs1, 00099 const UChar *ucs2, 00100 int32_t n); 00101 00110 U_CAPI UChar* U_EXPORT2 00111 u_strcpy(UChar *dst, 00112 const UChar *src); 00113 00124 U_CAPI UChar* U_EXPORT2 00125 u_strncpy(UChar *dst, 00126 const UChar *src, 00127 int32_t n); 00128 00138 U_CAPI UChar* U_EXPORT2 u_uastrcpy(UChar *ucs1, 00139 const char *s2 ); 00140 00152 U_CAPI UChar* U_EXPORT2 u_uastrncpy(UChar *ucs1, 00153 const char *s2, 00154 int32_t n); 00155 00165 U_CAPI char* U_EXPORT2 u_austrcpy(char *s1, 00166 const UChar *us2 ); 00167 00203 #if U_SIZEOF_WCHAR_T==U_SIZEOF_UCHAR && U_CHARSET_FAMILY==U_ASCII_FAMILY 00204 # define U_STRING_DECL(var, cs, length) static const wchar_t var[(length)+1]={ L ## cs } 00205 # define U_STRING_INIT(var, cs, length) 00206 #elif U_SIZEOF_UCHAR==1 && U_CHARSET_FAMILY==U_ASCII_FAMILY 00207 # define U_STRING_DECL(var, cs, length) static const UChar var[(length)+1]={ (const UChar *)cs } 00208 # define U_STRING_INIT(var, cs, length) 00209 #else 00210 # define U_STRING_DECL(var, cs, length) static UChar var[(length)+1] 00211 # define U_STRING_INIT(var, cs, length) u_charsToUChars(cs, var, length+1) 00212 #endif 00213 00214 #endif