sprintf 将字串格式化.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sprintf 将字串格式化

sprintf 将字串格式化。   在头文件 #includestdio.h中   语法: int sprintf(string format, mixed [args]...);   返回值:字符串长度(strlen)   1. 处理字符方向。-负号时表示从后向前处理。   2. 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。   3. 字符总宽度。为最小宽度。   4. 精确度。指在小数点后的浮点数位数。   =-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 转换字符   =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-   %% 印出百分比符号,不转换。   %c 整数转成对应的 ASCII 字元。   %d 整数转成十进位。   %f 倍精确度数字转成浮点数。   %o 整数转成八进位。   %s 整数转成字串。   %x 整数转成小写十六进位。   %X 整数转成大写十六进位。   =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-   ?   $money = 123.1   $formatted = sprintf (%06.2f, $money); // 此时变数 $ formatted 值为 123.10   $formatted = sprintf (%08.2f, $money); // 此时变数 $ formatted 值为 00123.10   $formatted = sprintf (%-08.2f, $money); // 此时变数 $ formatted 值为 123.1000   $formatted = sprintf (%.2f%%, 0.95 * 100); // 格式化为百分比   ?   ¢%08.2f 解释:   %开始符   0是 填空字元 表示,如果长度不足时就用0来填满。   6格式化后总长度   2f小数位长度,即2位   ¢第4行值为00123.10 解释:   因为2f是(2位)+小数点符号(1)+前面123(3位)=6位,总长度为8位,故前面用[填空字元]0表示,即00123.10   ¢第4行值为-123.1000 解释:   -号为反向操作,然后填空字元0添加在最后面了   /********************************************************   以下选自《CSDN 社区电子杂志——C/C++杂志》   *********************************************************/   在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。   sprintf 是个变参函数,定义如下:   int sprintf( char *buffer, const char *format [, argument] ... );   除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:   格式化字符串上。   printf 和sprintf 都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串。 格式化数字字符串   sprintf 最常见的应用之一莫过于把整数打印到字符串中,所以,spritnf 在大多数场合可以替代   itoa。   如:   //把整数123 打印成一个字符串保存在s 中。   sprintf(s, %d, 123); //产生123   可以指定宽度,不足的左边补空格:   sprintf(s, %8d%8d, 123, 4567); //产生: 123 4567   当然也可以左对齐:   sprintf(s, %-8d%8d, 123, 4567); //产生:123 4567   也可以按照16 进制打印:   sprintf(s, %8x, 4567); //小写16 进制,宽度占8 个位置,右对齐   sprintf(s, %-8X, 4568); //大写16 进制,宽度占8 个位置,左对齐   这样,一个整数的16 进制字符串就很容易得到,但我们在打印16 进制内容时,通常

文档评论(0)

sd44055 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档