`
isiqi
  • 浏览: 16047043 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

sprintf函数详解

 
阅读更多
sprintf 将字串格式化。

  头文件 #include<stdio.h>

  语法: int sprintf(string format, mixed [args]...);


返回值:字符串长度(strlen)

  1. 处理字符方向。-负号时表时从后向前处理。

  2. 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。

  3. 字符总宽度。为最小宽度。

  4. 精确度。指在小数点后的浮点数位数。


% 印出百分比符号,不转换。

  b 整数转成二进位。

  c 整数转成对应的 ASCII 字元。

  d 整数转成十进位。

  f 倍精确度数字转成浮点数。

  o 整数转成八进位。

  s 整数转成字串。

  x 整数转成小写十六进位。

  X 整数转成大写十六进位。

主要作用:

1、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 个位置,左对齐


2、浮点数的打印和格式控制是sprintf 的又一大常用功能,浮点数使用格式符”%f”控制,默认保

  留小数点后6 位数字,比如:

  sprintf(s, "%f", 3.1415926); //产生"3.141593"

  但有时我们希望自己控制打印的宽度和小数位数,这时就应该使用:”%m.nf”格式,其中m 表

  示打印的宽度,n 表示小数点后的位数。比如:

  sprintf(s, "%10.3f", 3.1415626); //产生:" 3.142"

  sprintf(s, "%-10.3f", 3.1415626); //产生:"3.142 "

  sprintf(s, "%.3f", 3.1415626); //不指定总宽度,产生:"3.142"


3、连接字符串

  sprintf 的格式控制串中既然可以插入各种东西,并最终把它们“连成一串”,自然也就能够连

  接字符串,从而在许多场合可以替代strcat,但sprintf 能够一次连接多个字符串(自然也可以同时

  在它们中间插入别的内容,总之非常灵活)。比如:

  char* who = "I";

  char* whom = "China";

  sprintf(s, "%s love %s.", who, whom); //产生:"I love China. "

分享到:
评论

相关推荐

    sprintf函数的用法详解

    本文对嵌入式开发领域中常用的sprintf函数进行了详细的介绍,刚入此行不甚了解的同学可以下载来看看学习一下

    sprintf函数详细介绍

    本文详细介绍了sprintf函数在嵌入式开发领域中的原理和应用,对该函数不太了解的同学可以下载来看看

    sprintf.doc

    C语言sprintf函数详解:在将各种类 型的数据构造成字符串时,sprintf的强大功能很少会让你失望。

    PHP之sprintf函数用法详解

    本文实例讲述了PHP中sprintf函数的用法。分享给大家供大家参考。具体用法分析如下: sprintf()函数在php官方是说把字符串格式化输出了,本文就来给各位朋友介绍一下在学习sprintf()函数时的一些经验分享,希望能给大家...

    C语言教程:sprintf()函数的使用方法

    sprintf 是个变参函数,使用时经常出问题,而且只要出问题通常就是能导致程序崩溃的内存访 问错误,但好在由sprintf 误用导致的问题虽然严重,却很容易找出,无非就是那么几种情况,通 常用眼睛再把出错的代码多看几...

    C++中sprintf()函数的使用详解

    本篇文章是对C++中sprintf()函数的使用进行了详细的分析介绍,需要的朋友参考下

    PHP echo,print,printf,sprintf函数之间的区别与用法详解

    主要是对PHP中echo,print,printf,sprintf函数之间的区别与用法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    PHP数字前补0的自带函数sprintf 和number_format的用法(详解)

    下面小编就为大家带来一篇PHP数字前补0的自带函数sprintf 和number_format的用法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    深入分析C中不安全的sprintf与strcpy

    经过跟踪调试, 发下不少 bug 源于 sprintf 和 ... 您可能感兴趣的文章:浅析C语言中printf(),sprintf(),scanf(),sscanf()的用法和区别基于C语言sprintf函数的深入理解C++中sprintf()函数的使用详解基于C++中sprintf的错

    基于C++中sprintf的错误总结详解

    sprintf 是个变参函数,使用时经常出问题,而且只要出问题通常就是能导致程序崩溃的内存访问错误。下面对sprintf 常出错误问题进行简单的总结:1、缓冲区溢出:第一个参数的长度太短了,解决办法:将第一个参数的...

    PHP闭包函数详解

    return sprintf('hello %s',name); } echo $cli('fuck')` 直接通过定义为匿名函数的变量名称来调用 echo preg_replace_callback('~-([a-z])~', function ($match) { return strtoupper($match[1]);

    PHP判断是否为空的几个函数对比

    您可能感兴趣的文章:PHP数字前补0的自带函数sprintf 和number_format的用法(详解)PHP常用函数总结(180多个)PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): …PHP中鲜为人知的...

    详解C语言中printf输出的相关函数

    C语言printf()函数:格式化输出函数 printf()函数是最常用的格式化输出函数,其原型为: int printf( char * format, ... ); printf()会根据参数 format 字符串来转换并格式化数据,然后将结果输出到标准输出...

    计算机专题20100311期——C语言格式化IO详解

    函数族 用途 可用于所有的流 只用于stdin和stdout 内存中的字符串 scanf 格式化输入 fscanf scanf sscanf printf 格式化输出 fprintf printf sprintf

    将数组写入txt文件 var_export

    您可能感兴趣的文章:php输出echo、print、print_r、printf、sprintf、var_dump的区别比较php echo, print, print_r, sprintf, var_dump, var_expor的使用区别深入php var_dump()函数的详解PHP学习之输出字符串(echo...

    关于读取popen输出结果时未截断字符串导致的命令行注入详解

    0x00 前言 这种命令行注入在pwn中出现的比较少,所以记录分享一下。 0x01 命令行注入介绍 熟悉web安全的话就知道,如果对特殊字符过滤不当,会引发sql注入或者xss等安全漏洞。...sprintf(&s, du -sh lib/'%s', v

Global site tag (gtag.js) - Google Analytics