string.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #ifndef __LIB_STRING_H
  2. #define __LIB_STRING_H
  3. #include "stdint.h"
  4. //---------------------- 实现字符串操作函数--------------------------
  5. // 函数: _memset
  6. // 作用: 将dst_起始的size个字节设置为value
  7. // 参数: dst_ 为目标地址, value 为设置的值, size 为设置的字节数
  8. // 返回: 无
  9. void _memset(void *dst_, uint8_t value, uint32_t size);
  10. // 函数: _memcpy
  11. // 作用: 将src_起始的size个字节复制到dst_起始地址
  12. // 参数: dst_ 为目标地址, src_ 为源地址, size 为复制的字节数
  13. // 返回: 无
  14. void _memcpy(void *dst_, const void *src_, uint32_t size);
  15. // 函数: _memcmp
  16. // 作用: 比较两个内存区域的内容
  17. // 参数: a_ 为比较的地址1, b_ 为比较的地址2, size 为比较的字节数
  18. // 返回: 相等返回0, a_大于b_返回1, a_小于b_返回-1
  19. int8_t _memcmp(const void *a_, const void *b_, uint32_t size);
  20. // 函数: _strcpy
  21. // 作用: 将字符串从src_复制到dst_
  22. // 参数: dst_ 为目标地址, src_ 为源地址
  23. // 返回: 目标地址
  24. char *_strcpy(char *dst_, const char *src_);
  25. // 函数: _strlen
  26. // 作用: 返回字符串的长度
  27. // 参数: str 为字符串
  28. // 返回: 字符串的长度
  29. uint32_t _strlen(const char *str);
  30. // 函数: _strcmp
  31. // 作用: 比较两个字符串
  32. // 参数: a_ 为比较的字符串1, b_ 为比较的字符串2
  33. // 返回: 相等返回0, a_大于b_返回1, a_小于b_返回-1
  34. int8_t _strcmp(const char *a_, const char *b_);
  35. // 函数: _strchr
  36. // 作用: 在字符串中查找字符(从前往后)
  37. // 参数: str 为字符串, ch 为要查找的字符
  38. // 返回: 找到返回地址, 未找到返回NULL
  39. char *_strchr(const char *str, const uint8_t ch);
  40. // 函数: _strrchr
  41. // 作用: 在字符串中查找字符(从后往前)
  42. // 参数: str 为字符串, ch 为要查找的字符
  43. // 返回: 找到返回地址, 未找到返回NULL
  44. char *_strrchr(const char *str, const uint8_t ch);
  45. // 函数: _strcat
  46. // 作用: 将字符串src_连接到dst_后
  47. // 参数: dst_ 为目标地址, src_ 为源地址
  48. // 返回: 目标地址(连接后的字符串)
  49. char *_strcat(char *dst_, const char *src_);
  50. // 函数: _strchrs
  51. // 作用: 在字符串中查找字符出现的次数
  52. // 参数: str 为字符串, ch 为要查找的字符
  53. // 返回: 字符出现的次数
  54. uint32_t _strchrs(const char *str, uint8_t ch);
  55. //---------------------- 实现字符串操作函数--------------------------
  56. #endif // __LIB_STRING_H