#ifndef __LIB_STRING_H #define __LIB_STRING_H #include "stdint.h" //---------------------- 实现字符串操作函数-------------------------- // 函数: _memset // 作用: 将dst_起始的size个字节设置为value // 参数: dst_ 为目标地址, value 为设置的值, size 为设置的字节数 // 返回: 无 void _memset(void *dst_, uint8_t value, uint32_t size); // 函数: _memcpy // 作用: 将src_起始的size个字节复制到dst_起始地址 // 参数: dst_ 为目标地址, src_ 为源地址, size 为复制的字节数 // 返回: 无 void _memcpy(void *dst_, const void *src_, uint32_t size); // 函数: _memcmp // 作用: 比较两个内存区域的内容 // 参数: a_ 为比较的地址1, b_ 为比较的地址2, size 为比较的字节数 // 返回: 相等返回0, a_大于b_返回1, a_小于b_返回-1 int8_t _memcmp(const void *a_, const void *b_, uint32_t size); // 函数: _strcpy // 作用: 将字符串从src_复制到dst_ // 参数: dst_ 为目标地址, src_ 为源地址 // 返回: 目标地址 char *_strcpy(char *dst_, const char *src_); // 函数: _strlen // 作用: 返回字符串的长度 // 参数: str 为字符串 // 返回: 字符串的长度 uint32_t _strlen(const char *str); // 函数: _strcmp // 作用: 比较两个字符串 // 参数: a_ 为比较的字符串1, b_ 为比较的字符串2 // 返回: 相等返回0, a_大于b_返回1, a_小于b_返回-1 int8_t _strcmp(const char *a_, const char *b_); // 函数: _strchr // 作用: 在字符串中查找字符(从前往后) // 参数: str 为字符串, ch 为要查找的字符 // 返回: 找到返回地址, 未找到返回NULL char *_strchr(const char *str, const uint8_t ch); // 函数: _strrchr // 作用: 在字符串中查找字符(从后往前) // 参数: str 为字符串, ch 为要查找的字符 // 返回: 找到返回地址, 未找到返回NULL char *_strrchr(const char *str, const uint8_t ch); // 函数: _strcat // 作用: 将字符串src_连接到dst_后 // 参数: dst_ 为目标地址, src_ 为源地址 // 返回: 目标地址(连接后的字符串) char *_strcat(char *dst_, const char *src_); // 函数: _strchrs // 作用: 在字符串中查找字符出现的次数 // 参数: str 为字符串, ch 为要查找的字符 // 返回: 字符出现的次数 uint32_t _strchrs(const char *str, uint8_t ch); //---------------------- 实现字符串操作函数-------------------------- #endif // __LIB_STRING_H