Files
latch/include/latch/container/lt-string.h
2024-12-03 17:12:18 +08:00

61 lines
1.1 KiB
C

#ifndef __LATCH_CONTAINER_STRING_H__
#define __LATCH_CONTAINER_STRING_H__
#include <stddef.h>
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct lt_string_s {
/// 字符串长度
size_t length;
/// 字符串数据
char *data;
} lt_string_t;
/**
* @brief 创建字符串
* @param data 字符串数据
* @return lt_string_t*
*/
lt_string_t *lt_string_new(const char *data);
/**
* @brief 销毁字符串
* @param str 字符串指针
* @return void
*/
void lt_string_close(lt_string_t *str);
/**
* @brief 重新设置字符串的值
* @param str 字符串指针
* @param data 字符串数据
* @return
*/
void lt_string_reNew(lt_string_t *str, const char *data);
/**
* @brief 字符串反转
* @param str 字符串指针
* @return
*/
lt_string_t *lt_string_reverse(lt_string_t *str);
/**
* @brief 字符串切片
* @param str 字符串指针
* @param start 开始位置
* @param end 结束位置
* @param step 步长
* @return
*/
lt_string_t *
lt_string_cut(lt_string_t *self, int32_t start, int32_t end, int32_t step);
#ifdef __cplusplus
}
#endif
#endif // __LATCH_CONTAINER_STRING_H__