122. C-printf 解析器
困难
在 C 语言中,有一个名为 printf
的函数,它允许我们使用格式化输出打印内容。例如:
printf("The result is %d.", 42);
实现高级工具类型 ParsePrintFormat<T>
用于解析输入的字符串并提取出格式占位符(如 %d
和 %f
)。例如,如果输入字符串是 'The result is %d.'
,那么解析结果应该是一个元组 ['dec']
。
下面是占位符与对应类型的映射关系:
type ControlsMap = {
c: 'char', // 字符类型
s: 'string', // 字符串类型
d: 'dec', // 十进制整数类型
o: 'oct', // 八进制类型
h: 'hex', // 十六进制类型
f: 'float', // 浮点数类型
p: 'pointer',// 指针类型
}
例子:
type Res = ParsePrintFormat<'The result is %d and %f.'> // expected to be ['dec', 'float']