MtFmt 1.0.0
MtFmt is a format library on embed. system and wrote by pure C.
载入中...
搜索中...
未找到
结构体 | 类型定义 | 枚举 | 函数
mm_fmt.h 文件参考

字符串格式化 更多...

#include "mm_cfg.h"
#include "mm_parser.h"
#include "mm_result.h"
#include "mm_string.h"
#include "mm_type.h"

浏览源代码.

结构体

struct  tagMStrFmtFormatArgument
 格式化参数 更多...
 
struct  tagMStrFmtArgsContext
 格式化参数的context 更多...
 

类型定义

typedef struct tagMStrFmtFormatArgument MStrFmtFormatArgument
 格式化参数
 
typedef struct tagMStrFmtArgsContext MStrFmtArgsContext
 格式化参数的context
 
typedef enum tagMStrFmtIntIndex MStrFmtIntIndex
 转换整数时采用的进制
 

枚举

enum  tagMStrFmtIntIndex {
  MStrFmtIntIndex_Bin , MStrFmtIntIndex_Oct , MStrFmtIntIndex_Dec , MStrFmtIntIndex_Hex ,
  MStrFmtIntIndex_Hex_UpperCase , MStrFmtIntIndex_Hex_WithPrefix , MStrFmtIntIndex_Hex_UpperCase_WithPrefix
}
 转换整数时采用的进制 更多...
 

函数

 mstr_format (MString *res_str, const char *fmt, usize_t fmt_place,...)
 格式化字符串
 
 mstr_vformat (const char *fmt, MString *res_str, usize_t fmt_place, va_list *ap_ptr)
 格式化字符串
 
 mstr_context_format (MString *res_str, const char *fmt, MStrFmtArgsContext *ctx)
 按照上下文进行格式化
 
 mstr_fmt_itoa (MString *str, int32_t value, MStrFmtIntIndex index, MStrFmtSignDisplay sign)
 将有符号整数转换为字符串
 
 mstr_fmt_utoa (MString *res_str, uint32_t value, MStrFmtIntIndex index)
 将无符号整数转换为字符串
 
 mstr_fmt_iqtoa (MString *res_str, int32_t value, uint32_t quat, MStrFmtSignDisplay sign)
 将有符号量化值转换为字符串
 
 mstr_fmt_uqtoa (MString *res_str, uint32_t value, uint32_t quat)
 将无符号量化值转换为字符串
 
 mstr_fmt_ttoa (MString *res_str, const MStrTime *tm, const MStrFmtChronoFormatSpec *spec)
 将日期时间值转换为字符串
 

详细描述

字符串格式化

作者
向阳 (hinat.nosp@m.a.ho.nosp@m.shino.nosp@m.@fox.nosp@m.mail..nosp@m.com)
版本
1.0
日期
2023-03-21

类型定义说明

◆ MStrFmtArgsContext

格式化参数的context

◆ MStrFmtFormatArgument

格式化参数

◆ MStrFmtIntIndex

转换整数时采用的进制

枚举类型说明

◆ tagMStrFmtIntIndex

转换整数时采用的进制

枚举值
MStrFmtIntIndex_Bin 

转换为二进制字符串

MStrFmtIntIndex_Oct 

转换为八进制字符串

MStrFmtIntIndex_Dec 

转换为十进制字符串

MStrFmtIntIndex_Hex 

转换为小写的十六进制值字符串

MStrFmtIntIndex_Hex_UpperCase 

转换为大写的十六进制值字符串

MStrFmtIntIndex_Hex_WithPrefix 

转换为小写的十六进制值字符串, 带0x前缀

MStrFmtIntIndex_Hex_UpperCase_WithPrefix 

转换为大写的十六进制值字符串, 带0X前缀

函数说明

◆ mstr_context_format()

mstr_context_format ( MString res_str,
const char *  fmt,
MStrFmtArgsContext ctx 
)

按照上下文进行格式化

参数
[out]res_str格式化结果
[in]fmt格式化串
[in]ctx格式化context

◆ mstr_fmt_iqtoa()

mstr_fmt_iqtoa ( MString res_str,
int32_t  value,
uint32_t  quat,
MStrFmtSignDisplay  sign 
)

将有符号量化值转换为字符串

参数
[out]res_str转换结果
[in]value需要转换的值
[in]quat量化精度
[in]sign符号的显示方式

◆ mstr_fmt_itoa()

mstr_fmt_itoa ( MString str,
int32_t  value,
MStrFmtIntIndex  index,
MStrFmtSignDisplay  sign 
)

将有符号整数转换为字符串

参数
[out]res_str转换结果
[in]value需要转换的值
[in]indexIndex
[in]sign符号的显示方式

◆ mstr_fmt_ttoa()

mstr_fmt_ttoa ( MString res_str,
const MStrTime tm,
const MStrFmtChronoFormatSpec spec 
)

将日期时间值转换为字符串

参数
[out]res_str转换结果
[in]tm日期时间值
[in]spec格式化信息

◆ mstr_fmt_uqtoa()

mstr_fmt_uqtoa ( MString res_str,
uint32_t  value,
uint32_t  quat 
)

将无符号量化值转换为字符串

参数
[out]res_str转换结果
[in]value需要转换的值
[in]quat量化精度

◆ mstr_fmt_utoa()

mstr_fmt_utoa ( MString res_str,
uint32_t  value,
MStrFmtIntIndex  index 
)

将无符号整数转换为字符串

参数
[out]res_str转换结果
[in]value需要转换的值
[in]indexIndex

◆ mstr_format()

mstr_format ( MString res_str,
const char *  fmt,
usize_t  fmt_place,
  ... 
)

格式化字符串

参数
[in]fmt格式化串
[out]res_str格式化结果输出
[in]fmt_place预期fmt中使用的参数数目. 最大不超过16(MFMT_PLACE_MAX_NUM)
返回
minfmt_result_t: 格式化结果

◆ mstr_vformat()

mstr_vformat ( const char *  fmt,
MString res_str,
usize_t  fmt_place,
va_list *  ap_ptr 
)

格式化字符串

参数
[in]fmt格式化串
[out]res_str格式化结果输出
[in]fmt_place预期fmt中使用的参数数目. 最大不超过16(MFMT_PLACE_MAX_NUM)
[in]ap_ptr&ap
返回
minfmt_result_t: 格式化结果