wxcrt.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/wxcrt.h
  3. // Purpose: interface of global wx wrappers for CRT functions
  4. // Author: wxWidgets team
  5. // Licence: wxWindows licence
  6. /////////////////////////////////////////////////////////////////////////////
  7. /** @addtogroup group_funcmacro_crt */
  8. //@{
  9. bool wxIsEmpty(const char *s);
  10. bool wxIsEmpty(const wchar_t *s);
  11. bool wxIsEmpty(const wxCharBuffer& s);
  12. bool wxIsEmpty(const wxWCharBuffer& s);
  13. bool wxIsEmpty(const wxString& s);
  14. bool wxIsEmpty(const wxCStrData& s);
  15. wxChar* wxTmemchr(const wxChar* s, wxChar c, size_t l);
  16. int wxTmemcmp(const wxChar* sz1, const wxChar* sz2, size_t len);
  17. wxChar* wxTmemcpy(wxChar* szOut, const wxChar* szIn, size_t len);
  18. wxChar* wxTmemmove(wxChar* szOut, const wxChar* szIn, size_t len);
  19. wxChar* wxTmemset(wxChar* szOut, const wxChar cIn, size_t len);
  20. char* wxTmemchr(const char* s, char c, size_t len);
  21. int wxTmemcmp(const char* sz1, const char* sz2, size_t len);
  22. char* wxTmemcpy(char* szOut, const char* szIn, size_t len);
  23. char* wxTmemmove(char* szOut, const char* szIn, size_t len);
  24. char* wxTmemset(char* szOut, const char cIn, size_t len);
  25. char* wxSetlocale(int category, const wxCharBuffer& locale);
  26. char* wxSetlocale(int category, const wxString& locale);
  27. char* wxSetlocale(int category, const wxCStrData& locale);
  28. size_t wxStrlen(const wxCharBuffer& s);
  29. size_t wxStrlen(const wxWCharBuffer& s);
  30. size_t wxStrlen(const wxString& s);
  31. size_t wxStrlen(const wxCStrData& s);
  32. size_t wxStrnlen(const char *str, size_t maxlen);
  33. size_t wxStrnlen(const char *str, size_t maxlen);
  34. size_t wxStrnlen(const wchar_t *str, size_t maxlen);
  35. size_t wxStrnlen(const wchar_t *str, size_t maxlen);
  36. char* wxStrdup(const wxCharBuffer& s);
  37. wchar_t* wxStrdup(const wxWCharBuffer& s);
  38. char* wxStrdup(const wxString& s);
  39. char* wxStrdup(const wxCStrData& s);
  40. char *wxStrcpy(char *dest, const char *src);
  41. wchar_t *wxStrcpy(wchar_t *dest, const wchar_t *src);
  42. char *wxStrcpy(char *dest, const wxString& src);
  43. char *wxStrcpy(char *dest, const wxCStrData& src);
  44. char *wxStrcpy(char *dest, const wxCharBuffer& src);
  45. wchar_t *wxStrcpy(wchar_t *dest, const wxString& src);
  46. wchar_t *wxStrcpy(wchar_t *dest, const wxCStrData& src);
  47. wchar_t *wxStrcpy(wchar_t *dest, const wxWCharBuffer& src);
  48. char *wxStrcpy(char *dest, const wchar_t *src);
  49. wchar_t *wxStrcpy(wchar_t *dest, const char *src);
  50. char *wxStrncpy(char *dest, const char *src, size_t n);
  51. wchar_t *wxStrncpy(wchar_t *dest, const wchar_t *src, size_t n);
  52. char *wxStrncpy(char *dest, const wxString& src, size_t n);
  53. char *wxStrncpy(char *dest, const wxCStrData& src, size_t n);
  54. char *wxStrncpy(char *dest, const wxCharBuffer& src, size_t n);
  55. wchar_t *wxStrncpy(wchar_t *dest, const wxString& src, size_t n);
  56. wchar_t *wxStrncpy(wchar_t *dest, const wxCStrData& src, size_t n);
  57. wchar_t *wxStrncpy(wchar_t *dest, const wxWCharBuffer& src, size_t n);
  58. char *wxStrncpy(char *dest, const wchar_t *src, size_t n);
  59. wchar_t *wxStrncpy(wchar_t *dest, const char *src, size_t n);
  60. size_t wxStrlcpy(char *dest, const char *src, size_t n);
  61. size_t wxStrlcpy(wchar_t *dest, const wchar_t *src, size_t n);
  62. char *wxStrcat(char *dest, const char *src);
  63. wchar_t *wxStrcat(wchar_t *dest, const wchar_t *src);
  64. char *wxStrcat(char *dest, const wxString& src);
  65. char *wxStrcat(char *dest, const wxCStrData& src);
  66. char *wxStrcat(char *dest, const wxCharBuffer& src);
  67. wchar_t *wxStrcat(wchar_t *dest, const wxString& src);
  68. wchar_t *wxStrcat(wchar_t *dest, const wxCStrData& src);
  69. wchar_t *wxStrcat(wchar_t *dest, const wxWCharBuffer& src);
  70. char *wxStrcat(char *dest, const wchar_t *src);
  71. wchar_t *wxStrcat(wchar_t *dest, const char *src);
  72. char *wxStrncat(char *dest, const char *src, size_t n);
  73. wchar_t *wxStrncat(wchar_t *dest, const wchar_t *src, size_t n);
  74. char *wxStrncat(char *dest, const wxString& src, size_t n);
  75. char *wxStrncat(char *dest, const wxCStrData& src, size_t n);
  76. char *wxStrncat(char *dest, const wxCharBuffer& src, size_t n);
  77. wchar_t *wxStrncat(wchar_t *dest, const wxString& src, size_t n);
  78. wchar_t *wxStrncat(wchar_t *dest, const wxCStrData& src, size_t n);
  79. wchar_t *wxStrncat(wchar_t *dest, const wxWCharBuffer& src, size_t n);
  80. char *wxStrncat(char *dest, const wchar_t *src, size_t n);
  81. wchar_t *wxStrncat(wchar_t *dest, const char *src, size_t n);
  82. int wxStrcmp_String(const wxString& s1, const T& s2);
  83. int wxStricmp_String(const wxString& s1, const T& s2);
  84. int wxStrcoll_String(const wxString& s1, const T& s2);;
  85. int wxStrcoll_String(const wxString& s1, const T& s2);
  86. size_t wxStrspn_String(const wxString& s1, const T& s2);
  87. size_t wxStrcspn_String(const wxString& s1, const T& s2);
  88. int wxStrncmp_String(const wxString& s1, const T& s2, size_t n);
  89. int wxStrnicmp_String(const wxString& s1, const T& s2, size_t n);
  90. size_t wxStrxfrm(char *dest, const char *src, size_t n);
  91. size_t wxStrxfrm(wchar_t *dest, const wchar_t *src, size_t n);
  92. size_t wxStrxfrm(T *dest, const wxCharTypeBuffer<T>& src, size_t n);
  93. size_t wxStrxfrm(char *dest, const wxString& src, size_t n);
  94. size_t wxStrxfrm(wchar_t *dest, const wxString& src, size_t n);
  95. size_t wxStrxfrm(char *dest, const wxCStrData& src, size_t n);
  96. size_t wxStrxfrm(wchar_t *dest, const wxCStrData& src, size_t n);
  97. char *wxStrtok(char *str, const char *delim, char **saveptr);
  98. wchar_t *wxStrtok(wchar_t *str, const wchar_t *delim, wchar_t **saveptr);
  99. char *wxStrtok(char *str, const wxCStrData& delim, char **saveptr);
  100. wchar_t *wxStrtok(wchar_t *str, const wxCStrData& delim, wchar_t **saveptr);
  101. char *wxStrtok(char *str, const wxString& delim, char **saveptr);
  102. wchar_t *wxStrtok(wchar_t *str, const wxString& delim, wchar_t **saveptr);
  103. const char *wxStrstr(const char *haystack, const char *needle);
  104. const wchar_t *wxStrstr(const wchar_t *haystack, const wchar_t *needle);
  105. const char *wxStrstr(const char *haystack, const wxString& needle);
  106. const wchar_t *wxStrstr(const wchar_t *haystack, const wxString& needle);
  107. const char *wxStrstr(const wxString& haystack, const wxString& needle);
  108. const char *wxStrstr(const wxCStrData& haystack, const wxString& needle);
  109. const char *wxStrstr(const wxCStrData& haystack, const wxCStrData& needle);
  110. const char *wxStrstr(const wxString& haystack, const char *needle);
  111. const char *wxStrstr(const wxCStrData& haystack, const char *needle);
  112. const wchar_t *wxStrstr(const wxString& haystack, const wchar_t *needle);
  113. const wchar_t *wxStrstr(const wxCStrData& haystack, const wchar_t *needle);
  114. const char *wxStrchr(const char *s, char c);
  115. const wchar_t *wxStrchr(const wchar_t *s, wchar_t c);
  116. const char *wxStrrchr(const char *s, char c);
  117. const wchar_t *wxStrrchr(const wchar_t *s, wchar_t c);
  118. const char *wxStrchr(const char *s, const wxUniChar& c);
  119. const wchar_t *wxStrchr(const wchar_t *s, const wxUniChar& c);
  120. const char *wxStrrchr(const char *s, const wxUniChar& c);
  121. const wchar_t *wxStrrchr(const wchar_t *s, const wxUniChar& c);
  122. const char *wxStrchr(const char *s, const wxUniCharRef& c);
  123. const wchar_t *wxStrchr(const wchar_t *s, const wxUniCharRef& c);
  124. const char *wxStrrchr(const char *s, const wxUniCharRef& c);
  125. const wchar_t *wxStrrchr(const wchar_t *s, const wxUniCharRef& c);
  126. const T* wxStrchr(const wxCharTypeBuffer<T>& s, T c);
  127. const T* wxStrrchr(const wxCharTypeBuffer<T>& s, T c);
  128. const T* wxStrchr(const wxCharTypeBuffer<T>& s, const wxUniChar& c);
  129. const T* wxStrrchr(const wxCharTypeBuffer<T>& s, const wxUniChar& c);
  130. const T* wxStrchr(const wxCharTypeBuffer<T>& s, const wxUniCharRef& c);
  131. const T* wxStrrchr(const wxCharTypeBuffer<T>& s, const wxUniCharRef& c);
  132. const char* wxStrchr(const wxString& s, char c);
  133. const char* wxStrrchr(const wxString& s, char c);
  134. const char* wxStrchr(const wxString& s, int c);
  135. const char* wxStrrchr(const wxString& s, int c);
  136. const char* wxStrchr(const wxString& s, const wxUniChar& c);
  137. const char* wxStrrchr(const wxString& s, const wxUniChar& c);
  138. const char* wxStrchr(const wxString& s, const wxUniCharRef& c);
  139. const char* wxStrrchr(const wxString& s, const wxUniCharRef& c);
  140. const wchar_t* wxStrchr(const wxString& s, wchar_t c);
  141. const wchar_t* wxStrrchr(const wxString& s, wchar_t c);
  142. const char* wxStrchr(const wxCStrData& s, char c);
  143. const char* wxStrrchr(const wxCStrData& s, char c);
  144. const char* wxStrchr(const wxCStrData& s, int c);
  145. const char* wxStrrchr(const wxCStrData& s, int c);
  146. const char* wxStrchr(const wxCStrData& s, const wxUniChar& c);
  147. const char* wxStrrchr(const wxCStrData& s, const wxUniChar& c);
  148. const char* wxStrchr(const wxCStrData& s, const wxUniCharRef& c);
  149. const char* wxStrrchr(const wxCStrData& s, const wxUniCharRef& c);
  150. const wchar_t* wxStrchr(const wxCStrData& s, wchar_t c);
  151. const wchar_t* wxStrrchr(const wxCStrData& s, wchar_t c);
  152. const char *wxStrpbrk(const char *s, const char *accept);
  153. const wchar_t *wxStrpbrk(const wchar_t *s, const wchar_t *accept);
  154. const char *wxStrpbrk(const char *s, const wxString& accept);
  155. const char *wxStrpbrk(const char *s, const wxCStrData& accept);
  156. const wchar_t *wxStrpbrk(const wchar_t *s, const wxString& accept);
  157. const wchar_t *wxStrpbrk(const wchar_t *s, const wxCStrData& accept);
  158. const char *wxStrpbrk(const wxString& s, const wxString& accept);
  159. const char *wxStrpbrk(const wxString& s, const char *accept);
  160. const wchar_t *wxStrpbrk(const wxString& s, const wchar_t *accept);
  161. const char *wxStrpbrk(const wxString& s, const wxCStrData& accept);
  162. const char *wxStrpbrk(const wxCStrData& s, const wxString& accept);
  163. const char *wxStrpbrk(const wxCStrData& s, const char *accept);
  164. const wchar_t *wxStrpbrk(const wxCStrData& s, const wchar_t *accept);
  165. const char *wxStrpbrk(const wxCStrData& s, const wxCStrData& accept);
  166. const T *wxStrpbrk(const S& s, const wxCharTypeBuffer<T>& accept);
  167. /* inlined non-const versions */;
  168. char *wxStrstr(char *haystack, const char *needle);
  169. wchar_t *wxStrstr(wchar_t *haystack, const wchar_t *needle);
  170. char *wxStrstr(char *haystack, const wxString& needle);
  171. wchar_t *wxStrstr(wchar_t *haystack, const wxString& needle);
  172. char * wxStrchr(char *s, char c);
  173. char * wxStrrchr(char *s, char c);
  174. wchar_t * wxStrchr(wchar_t *s, wchar_t c);
  175. wchar_t * wxStrrchr(wchar_t *s, wchar_t c);
  176. char * wxStrpbrk(char *s, const char *accept);
  177. wchar_t * wxStrpbrk(wchar_t *s, const wchar_t *accept);
  178. char * wxStrpbrk(char *s, const wxString& accept);
  179. wchar_t * wxStrpbrk(wchar_t *s, const wxString& accept);
  180. FILE *wxFopen(const wxString& path, const wxString& mode);
  181. FILE *wxFreopen(const wxString& path, const wxString& mode, FILE *stream);
  182. int wxRemove(const wxString& path);
  183. int wxRename(const wxString& oldpath, const wxString& newpath);
  184. char *wxFgets(char *s, int size, FILE *stream);
  185. int wxFgetc(FILE *stream);
  186. int wxUngetc(int c, FILE *stream);
  187. int wxAtoi(const wxString& str);
  188. int wxAtoi(const wxString& str);
  189. long wxAtol(const wxString& str);
  190. long wxAtol(const wxString& str);
  191. double wxAtof(const wxString& str);
  192. double wxAtof(const wxString& str);
  193. double wxStrtod(const char *nptr, char **endptr);
  194. double wxStrtod(const wchar_t *nptr, wchar_t **endptr);
  195. double wxStrtod(const wxCharTypeBuffer<T>& nptr, T **endptr);
  196. double wxStrtod(const wxString& nptr, T endptr);
  197. double wxStrtod(const wxCStrData& nptr, T endptr);
  198. int wxSystem(const wxString& str);
  199. int wxSystem(const wxString& str);
  200. char* wxGetenv(const char *name);
  201. wchar_t* wxGetenv(const wchar_t *name);
  202. char* wxGetenv(const wxString& name);
  203. char* wxGetenv(const wxCStrData& name);
  204. char* wxGetenv(const wxCharBuffer& name);
  205. wchar_t* wxGetenv(const wxWCharBuffer& name);
  206. size_t wxStrftime(char *s, size_t max, size_t max, const wxString& format, const struct tm *tm);
  207. size_t wxStrftime(wchar_t *s, size_t max, size_t max, const wxString& format, const struct tm *tm);
  208. bool wxIsalnum(const wxUniChar& c) ;
  209. bool wxIsalpha(const wxUniChar& c) ;
  210. bool wxIscntrl(const wxUniChar& c) ;
  211. bool wxIsdigit(const wxUniChar& c) ;
  212. bool wxIsgraph(const wxUniChar& c) ;
  213. bool wxIslower(const wxUniChar& c) ;
  214. bool wxIsprint(const wxUniChar& c) ;
  215. bool wxIspunct(const wxUniChar& c) ;
  216. bool wxIsspace(const wxUniChar& c) ;
  217. bool wxIsupper(const wxUniChar& c) ;
  218. bool wxIsxdigit(const wxUniChar& c);
  219. wxUniChar wxTolower(const wxUniChar& c);
  220. wxUniChar wxToupper(const wxUniChar& c);
  221. int wxIsctrl(const wxUniChar& c);
  222. //@}