61 lines
1.1 KiB
C
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__
|