| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #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
|