str.hpp 918 B

123456789101112131415161718192021222324
  1. #ifndef AFUN_STR_HPP
  2. #define AFUN_STR_HPP
  3. #include <cwchar>
  4. #include <cstring>
  5. #include "aFunToolExport.h"
  6. /* 字符串工具 */
  7. #define EQ_STR(str1, str2) (!strcmp((str1), (str2)))
  8. #define EQ_WSTR(wid1, wid2) (!wcscmp((wid1), (wid2)))
  9. #define NEW_STR(size) calloc((size) + 1, char)
  10. #define NEW_WSTR(size) calloc((size) + 1, wchar_t)
  11. #define STR_LEN(p) (((p) == NULL) ? 0 : strlen((p)))
  12. #define WSTR_LEN(p) (((p) == NULL) ? 0 : wcslen((p)))
  13. AFUN_TOOL_EXPORT char *charToStr(char ch);
  14. AFUN_TOOL_EXPORT char *strCopy(const char *str);
  15. AFUN_TOOL_EXPORT char *strJoin(const char *first, const char *second, bool free_first, bool free_last);
  16. AFUN_TOOL_EXPORT char *strJoin_(const char *first, const char *second, bool free_first, bool free_last);
  17. AFUN_TOOL_EXPORT wchar_t *convertToWstr(const char *str, bool free_old);
  18. AFUN_TOOL_EXPORT char *convertToStr(const wchar_t *wstr, bool free_old);
  19. #endif //AFUN_STR_HPP