C语言那些事之函数库的使用

sprintf的使用

字符串格式化命令,调用头文件:<stdio.h>
参数1:格式化后字符串缓存
参数2:格式化格式
参数3:传入参数
… :根据参数2里的参数类型个数

举例

sprintf(tab, "Rxpkg Cnt:%02d", (int)rxCount);

输出结果:Rxpkg Cnt:01
说明:
%02d表示传入参数的类型,
0表示高位补0,只能填0,若不填,则为空。
2表示至少转换成2位数,比如1的转换结果为01(需要补0),10的转换结果为10,如果该位置为3则1的转换结果为001(需要补0)不需要补0为 1(1前面有2个空格),以此类推。
d表示转成十进制数,若为x表示转换成小写十六进制数,若为X表示转换成大写十六进制数,若为c表示转换成ascll对应的字符

注意:若传参类型为数值时,传入变量的长度小于int需要强制转换为int类型,不然转换结果会被强制左移8位。
举例:

unsigned char test=0x55;
char tab[20]={0};
sprintf(tab, "test result:%x/r/n", test);
//结果为:tab = "test result:5500"

atoi的使用

将字符串中的数字字符转换成整型数
原型int atoi(const char *nptr)
使用:从nptr中的第一个字符开始转换,碰到非数字字符结 束,若第一个字符为非数字字符,返回值为0.
注意:转换的结果超过int的长度,会出错

举例:

printf("Hello, World! :%d\n",atoi("12333a"));
//打印结果:Hello, World! :12333\n
printf("Hello, World! :%d\n",atoi("a12333a"));
//打印结果:Hello, World! :0\n

sscanf的使用

根据规定的格式从字符串中提取字符串
原型int sscanf(const char *buffer, const char *format, [ argument ] ... );
使用:根据format的格式从buffer提取字符,放到format的后面的参数中。从第一个字符开始检测判断,碰到不服务格式中的要求的结束检测,检测到有符合格式要求的返回1,否则返回0.
注意:format可以是正则表达式

举例:

char str[12];
printf("Hello, World!:%d \n",sscanf("aaAA123as", "%[a-z]", str));
//打印结果:Hello, World!:1 
 printf("Hello, World!:%s \n",str);
 //打印结果:Hello, World!:aa 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值