sprintf与sscanf

int sprintf(char* str,const char* format,...);根据参数format字符串来转换并格式化数据,然后将结果输出到str指定的空间中,直到出现字符串结束符‘\0’为止。str字符串首地址,format字符串格式。返回值,成功,返回实际格式化的字符个数,失败,返回-1.

sprintf

1.格式化字符串

sprintf(buf,”hello %s”,”lily”);

2.拼接字符串

sprintf(buf,”%s %s”,”hello”,”lily”);

3.数字转字符串

sprintf(buf,”%d”,88);

4.设置宽度和对齐

sprintf(buf,”%8d”,num);//宽度为8,右对齐

sprintf(buf,”%-8d”,num);//宽度为8,左对齐

5.整数转成16进制字符串,小写

sprintf(buf,”0x%x”,num);

6.整数转换成8进制字符串

sprintf(buf,”0%o”,num);

****************************************************

int sscanf(const char* str,const char* format,...);str指定的字符串读取数据,并根据参数format字符串来转换并格式化数据。str指定的字符串首地址,format字符串格式。返回值,成功返回实际读取的字符个数,失败,返回-1.

1.跳过数据

sscanf(“1111eeee”,”%*d%s”,buf);//跳过前面的数字,匹配第一个字符是否是数字,如果是,则跳过,如果不是,停止匹配。

2.读取指定数据宽度

sscanf(“1111eeee”,”%5s”,buf);

3.匹配a-z的任意字符

sscanf(“sdfgh787878”,”%[a-z]”

4.匹配abc中的任一个

sscanf(“abccba7788”,”%[abc]”,buf);

5.匹配非a的任意字符

sscanf(“badd8877”,”%[^a]”,buf);

6.匹配非a-z的任意字符

sscanf(“4567uuyytt”,”%[^a-z]”,buf):


%*s    %*d

跳过数据

%[width]s

读指定宽度的数据

%[a-z]

匹配az的任意字符

%[aBc]

匹配a,B,c其中一个

%[^a]

匹配非a的任意字符

%[^a-z]

表示读取除a-z以外的所有字符


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值