• 《C库 — sprintf字符串格式化命令,把格式化的数据写入某个字符串中》


    1.sprintf函数原型

    #include <stdio.h>
    int sprintf(char *string, char *format [,argument,...]);

    参数列表

    • string-- 这是指向一个字符数组的指针,该数组存储了 C 字符串。
    • format-- 这是字符串,包含了要被写入到字符串 str 的文本。它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。format 标签属性是%[flags][width][.precision][length]specifier
    • [argument]...:根据不同的 format 字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,替换了 format 参数中指定的每个 % 标签。参数的个数应与 % 标签的个数相同。

    返回值

      如果成功,则返回写入的字符总数,不包括字符串追加在字符串末尾的空字符。如果失败,则返回一个负数。

    2.实例

    #include <stdio.h>
    int main( void )
     
    {
       char  buffer[200], s[] = "computer", c = 'l';
       int   i = 35, j;
       float fp = 1.7320534f;
       // 格式化并打印各种数据到buffer
       j  = sprintf( buffer,    "   String:    %s
    ", s ); // C4996
       j += sprintf( buffer + j, "   Character: %c
    ", c ); // C4996
       j += sprintf( buffer + j, "   Integer:   %d
    ", i ); // C4996
       j += sprintf( buffer + j, "   Real:      %f
    ", fp );// C4996
        
       printf( "Output:
    %s
    character count = %d
    ", buffer, j );
          return 0;
    } 
      输出结果:
      Output:
      String: computer
      
      Character: l
      Integer: 35
      Real: 1.732053
      character count = 79
     
      格式化数字字符串sprintf 最常见的应用之一莫过于把整数打印到字符串中,所以,sprintf 在大多数场合可以替代itoa。
      更多通过百度百科了解:https://baike.baidu.com/item/sprintf/9703430?fr=aladdin
     
     
     
     
     
     
     
     
  • 相关阅读:
    CodeForces 757C Felicity is Coming!(排列组合)
    Ural 1519 Formula 1( 插头dp )
    FZU 2187 回家种地 ( 扫描线 + 离散 求矩阵单次覆盖面积 )
    HDU 1255 覆盖的面积 ( 扫描线 + 离散 求矩阵大于k次面积并 )
    ZOJ 3841 Cards
    HDU 4012 Paint on a Wall(状压+bfs)
    Topcoder SRM653div2
    2015 GDUT校赛
    Topcoder SRM652div2
    CodeChef A String Game(SG)
  • 原文地址:https://www.cnblogs.com/zhuangquan/p/12698075.html
Copyright © 2020-2023  润新知