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

IO 更多...

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

浏览源代码.

结构体

struct  tagMStrIOCallback
 IO回调的接口 更多...
 

宏定义

#define MSTR_COUNT_VA_ARGS_HELPER(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, N, ...)    N
 
#define MSTR_COUNT_VA_ARGS(...)
 取得可变参数宏的参数个数
 
#define mstr_print(fmt, ...)   ((void)(0))
 写到 stdout (disable)
 

类型定义

typedef mstr_result_t(* MStrIOWrite) (void *ctx, const byte_t *data, usize_t len)
 写入数据
 
typedef struct tagMStrIOCallback MStrIOCallback
 IO回调的接口
 

函数

 mstr_io_init (void *context, MStrIOCallback *obj, MStrIOWrite cb_write)
 初始化IO的结构
 
 mstr_ioformat (MStrIOCallback *io, const char *fmt, usize_t fmt_place,...)
 格式化字符串到指定io
 
 mstr_iovformat (MStrIOCallback *io, const char *fmt, usize_t fmt_place, va_list *ap_ptr)
 格式化字符串到指定io
 
 MSTR_EXPORT_API (MStrIOCallback *) mstr_get_stdout(void)
 取得stdout的内部handler
 

详细描述

IO

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

宏定义说明

◆ MSTR_COUNT_VA_ARGS

#define MSTR_COUNT_VA_ARGS (   ...)
值:
0, \
##__VA_ARGS__, \
16, \
15, \
14, \
13, \
12, \
11, \
10, \
9, \
8, \
7, \
6, \
5, \
4, \
3, \
2, \
1, \
0 \
)
#define MSTR_COUNT_VA_ARGS_HELPER(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, N, ...)
Definition mm_io.h:96

取得可变参数宏的参数个数

◆ MSTR_COUNT_VA_ARGS_HELPER

#define MSTR_COUNT_VA_ARGS_HELPER (   _0,
  _1,
  _2,
  _3,
  _4,
  _5,
  _6,
  _7,
  _8,
  _9,
  _10,
  _11,
  _12,
  _13,
  _14,
  _15,
  _16,
  N,
  ... 
)     N

◆ mstr_print

#define mstr_print (   fmt,
  ... 
)    ((void)(0))

写到 stdout (disable)

注解
宏 _MSTR_USE_STD_IO 为1时启用

类型定义说明

◆ MStrIOCallback

IO回调的接口

◆ MStrIOWrite

typedef mstr_result_t(* MStrIOWrite) (void *ctx, const byte_t *data, usize_t len)

写入数据

函数说明

◆ MSTR_EXPORT_API()

MSTR_EXPORT_API ( MStrIOCallback )

取得stdout的内部handler

◆ mstr_io_init()

mstr_io_init ( void *  context,
MStrIOCallback obj,
MStrIOWrite  cb_write 
)

初始化IO的结构

参数
[in]context上下文
[in,out]objIO结构对象
[in]cb_write写入数据callback, 不可留NULL

◆ mstr_ioformat()

mstr_ioformat ( MStrIOCallback io,
const char *  fmt,
usize_t  fmt_place,
  ... 
)

格式化字符串到指定io

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

◆ mstr_iovformat()

mstr_iovformat ( MStrIOCallback io,
const char *  fmt,
usize_t  fmt_place,
va_list *  ap_ptr 
)

格式化字符串到指定io

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