sprintf函数的用法

sprintf函数的用法

ID:16742577

大小:21.13 KB

页数:5页

时间:2018-08-24

sprintf函数的用法_第1页
sprintf函数的用法_第2页
sprintf函数的用法_第3页
sprintf函数的用法_第4页
sprintf函数的用法_第5页
资源描述:

《sprintf函数的用法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Sprintf函数的用法:函数简介:函数功能:把格式化的数据写入某个字符串  头文件:stdio.h  函数原型:intsprintf(char*buffer,constchar*format,[argument]…);返回值:字符串长度(strlen)参数说明及应用举例  sprintf格式的规格如下所示。[]中的部分是可选的。  %[指定参数][标识符][宽度][.精度]指示符  若想输出`%'本身时,请这样`%%'处理。  1.处理字符方向。负号时表示从后向前处理。  2.填空字元。0的话表示空格填0;空格是内定值,表示空格就放着

2、。  3.字符总宽度。为最小宽度。  4.精确度。指在小数点后的浮点数位数。  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-转换字符  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  %%印出百分比符号,不转换。  %c整数转成对应的ASCII字元。  %d整数转成十进位。  %f倍精确度数字转成浮点数。  %o整数转成八进位。  %s整数转成字符串。  %x整数转成小写十六进位。%X整数转成大写十六进位。我们的用法:Ucharsf[20],sd[20];d=124;a=sprintf(sf,"%.0f"

3、,d);//Long(Int)到char字符串d=12422.422;a=sprintf(sd,"%f",d);//float到char字符串a=sprintf(sd,"%.6f",d);//float到char字符串这两句相等;即浮点型转换时,小数位不指定情况下为最大6位;注意:以防sd缓冲区溢出,待转换数据先做判断,大于0xFFFFFFFFlocatedintheTomb,DongShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhejiang,1ofwhic

4、hliquorwinemasters(WuzhensaidinformationisCarpenter),whogotAfewbayonets,duetomissedfatal,whennightcame4.      打印地址信息有时调试程序时,我们可能想查看某些变量或者成员的地址,由于地址或者指针也不过是个32位的数,你完全可以使用打印无符号整数的”%u”把他们打印出来:sprintf(s,"%u",&i);不过通常人们还是喜欢使用16进制而不是10进制来显示一个地址:sprintf(s,"%08X",&i);然而,这些都是间接的方

5、法,对于地址打印,sprintf提供了专门的”%p”:sprintf(s,"%p",&i);我觉得它实际上就相当于:sprintf(s,"%0*x",2*sizeof(void*),&i);5.      利用sprintf的返回值较少有人注意printf/sprintf函数的返回值,但有时它却是有用的,spritnf返回了本次函数调用最终打印到字符缓冲区中的字符数目。也就是说每当一次sprinf调用结束以后,你无须再调用一次strlen便已经知道了结果字符串的长度。如:intlen=sprintf(s,"%d",i);对于正整数来说,

6、len便等于整数i的10进制位数。下面的是个完整的例子,产生10个[0,100)之间的随机数,并将他们打印到一个字符数组s中,以逗号分隔开。#include#include#includeintmain(){   srand(time(0));   chars[64];   intoffset=0;   for(inti=0;i<10;i++){      offset+=sprintf(s+offset,"%d,",rand()%100);   }   s[offset-1]='

7、n';//将最后一个逗号换成换行符。   printf(s);   return0;}设想当你从数据库中取出一条记录,然后希望把他们的各个字段按照某种规则连接成一个字符串时,就可以使用这种方法,从理论上讲,他应该比不断的strcat效率高,因为strcat每次调用都需要先找到最后的那个’’的位置,而在上面给出的例子中,我们每次都利用sprintf返回值把这个位置直接记下来了。6.      使用sprintf的常见问题sprintf是个变参函数,使用时经常出问题,而且只要出问题通常就是能导致程序崩溃的内存访问错误,但好在由sprin

8、tf误用导致的问题虽然严重,却很容locatedintheTomb,DongShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhej

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。