zoukankan      html  css  js  c++  java
  • C语言字符串格式化显示

    最近用Uart_Printf函数输出格式化字符,用到C语言字符串格式化显示。

    符号                  作用
    ──────────────────────────
        %d             
    十进制有符号整数 
        %i             
    输入整数 ,可以是带前导0的八进制数或0x的十六进制数
        %u             
    十进制无符号整数
        %f             
    浮点数
        %s             
    字符串
        %c             
    单个字符
        %p             
    指针的值(内存地址)
        %e             
    指数形式的浮点数
        %x, %X         
    无符号以十六进制表示的整数
        %0             
    无符号以八进制表示的整数
        %g, %G         
    自动选择合适的表示法
    ━━━━━━━━━━━━━━━━━━━━━━━━━━

    格式字符串的一般形式为:

     [标志][输出最小宽度][.精度][长度]类型

    其中方括号[]中的项为可选项。各项的意义介绍如下:

      1.类型类型字符用以表示输出数据的类型,其格式符和意义下表所示:

            表示输出类型的格式字符 格式字符意义

            以十进制形式输出带符号整数(正数不输出符号)

            以八进制形式输出无符号整数(不输出前缀O)

            以十六进制形式输出无符号整数(不输出前缀OX)

            以十进制形式输出无符号整数

            以小数形式输出单、双精度实数

            以指数形式输出单、双精度实数

            %f%e中较短的输出宽度输出单、双精度实数

            输出单个字符

            输出字符串  

      2.标志

      标志字符为-+#、空格四种,其意义下表所示:

    标志格式字符

    结果左对齐,右边填空格

    输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号

    csdu类无影响;对o类, 在输出时加前缀。对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点    

      3.输出最小宽度

      用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,则按实际位数输出, 若实际位数少于定义的宽度则补以空格或0

      4.精度

      精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符, 则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。

      5.长度

      长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出
    说明:
    (1)
    、可以在”%”和字母之间插进数字表示最大场宽。
    例如: %3d 表示输出3位整型数, 不够3位右对齐。
    %9.2f
    表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6,小数点占一位, 不够9位右对齐。
    %8s
    表示输出8个字符的字符串, 不够8个字符右对齐。
    如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。
    但对浮点数, 若整数部分位数超过了说明的整数位宽度, 将按实际整数位输出;若小数部分位数超过了说明的小数位宽度, 则按说明的宽度以四舍五入输出。
    另外, 若想在输出值前加一些0, 就应在场宽项前加个0
    例如: %04d 表示在输出一个小于4位的数值时, 将在前面补0使其总宽度为4位。
    如果用浮点数表示字符或整型量的输出格式, 小数点后的数字代表最大宽度,小数点前的数字代表最小宽度。
    例如: %6.9s 表示显示一个长度不小于6且不大于9的字符串。若大于9, 则第9个字符以后的内容将被删除。
    (2)
    、可以在”%”和字母之间加小写字母l, 表示输出的是长型数。
    例如: %ld 表示输出long整数,%lf 表示输出double浮点数
    (3)
    、可以控制输出左对齐或右对齐, 即在”%”和字母之间加入一个”-” 号可说明输出为左对齐, 否则为右对齐。
    例如: %-7d 表示输出7位整数左对齐,%-10s 表示输出10个字符左对齐
    (4)
    、可以在格式化字符和%之间加一个*号,用来跳过对应的输入数据。
    例如:scanf("%d%*d%d",&a,&b);当输入10 20 30时,ab的值分别是1030.

    转载:http://www.cnblogs.com/iceocean/articles/1594206.html

  • 相关阅读:
    极光推送SDK通过泰尔终端实验室检测,符合统一推送接口标准
    极光小课堂|手把手教你做接口测试
    一键登录怎么在iOS端实现?这篇文章教会你!
    一键登录已成大势所趋,Android端操作指南来啦!
    极光一键登录:更快捷、安全的登录认证方式,简单集成即可实现
    跨浏览器问题的五种解决方案
    Laravel 搭建 Composer 包,实现配置 Config、门面 Facade、服务 Service、发布到 Packagist
    How to Install ClamAV on Ubuntu 20.04 and Scan for Vulnerabilities
    单点登录(SSO)看这一篇就够了
    一口气说出 OAuth2.0 的四种授权方式
  • 原文地址:https://www.cnblogs.com/zpehome/p/3209569.html
Copyright © 2011-2022 走看看