函数原型:
示例:
rt_uint32_t number1 = 0x12345678;
char string[16] = {0};
rt_sprintf (string,"0x%x",number1);//format对应的是number1的类型
rt_kprintf("数字:%x 转换后的字符串为:%s\n",number1,string);
rt_sprintf 的第二个参数format,对应的是后面参数的类型;当然也可以带入多个参数,这样就能将多个参数串联起来。
运行结果:
用途:
想要在程序中直接运行一些msh命令,如SFUD里的sf命令。
argc:带入参数的个数。
argv:带入参数的指针。
假如使用sf read 0x00000000 4096这条命令,在代码中可以这样实现
char *s[4]=NULL;
s[0] = "sf";
s[1] = "read";
s[2] = "0x00000000";
s[3] = "4096";
sf(4,s);
由上面的代码可以看到带入的参数都是以字符串形式存在,想要将十六进制的0x00000000和十进制的4096变为字符串就需要用到rt_sprintf();