C++中的格式化字符串

格式化输出函数包括printf, fprintf, sprintf等等。
格式化输入函数包括scanf, fscanf, sscanf等等。
这类函数在输入输出的时候都有一个参数为格式化字符串(format_str), 里面介绍了输入输出字符串的格式,当需要输入输出变量值时,就需要用对应的格式化字符来替代。

题目中提到的三种格式分别对应:

%ld对应long型,即长整型。
%d对应int型,即整型。
%u对应unsigned int型,即无符号整型。
%hd对应short型,即短整型。
%hu对应unsigned short型,即无符号短整型。
%f对应float型,即单精度浮点型。
%lf对应double型,即双精度浮点型。
%c对应char型,即字符型。
%s对应char *型,即字符指针/字符数组(均可称为字符串)。
%x对应int型,不过是以16进制输入输出。
%lx对应long型,同样是16进制形式。

sscanf:
sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入
源。
支持集合操作:
%[a-z] 表示匹配a到z中任意字符,贪婪性(尽可能多的匹配)
%[aB’] 匹配a、B、'中一员,贪婪性
%[^a] 匹配非a的任意字符,贪婪性
sscanf可以支持格式字符%[] 这为分析字符串提供了很大方便(其实scanf也支持%[])
先看一下%[] 格式:
(1)-: 表示范围,如:%[1-9]表示只读取1-9这几个数字 %[a-z]表示只读取a-z小写字母,类似地 %
[A-Z]只读取大写字母
(2)^: 表示不取,如:%[^1]表示读取除’1’以外的所有字符 %[^/]表示除/以外的所有字符
(3),: 范围可以用","相连接 如%[1-9,a-z]表示同时取1-9数字和a-z小写字母
(4)原则:从第一个在指定范围内的数字开始读取,到第一个不在范围内的数字结束%s 可以看成%[]
的一个特例 %^

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值