C sprintf格式化解决方法详解
创始人
2024-06-22 22:40:45
0

今天我们将会为大家详细介绍一下有关C++ sprintf格式化的相关应用方法。希望初学者们可以根据本文介绍的内容充分掌握这方面的知识,并从中体验这款语言给我们都带来了哪些不一样的应用方式。

名称:

  1. printf, sprintf - 转换成指定格式的输出结果.   
  2. void printf( string format, ... );   
  3. string sprintf( string format, ... );  

 

语法:#t#

无返回值 printf( 字符串 format, ... );

字符串 sprintf( 字符串 format, ... );

用法: 以下为 LPC (s)printf() 的格式用法, Lynscar (Sean A Reith) 加入了一些扩充用法.

目前的版本支援以下的修改格式 (modifier):

" "  在正整数之前放入一个空格.

"+"  在正整数之前放入一个 + 号.

"-"  对齐栏位 (field) 的左边. 请注意: 标准的 (s)printf() 预设是对齐右边, 但是对主要以字符串为基础的语言来说, 这样非常奇怪. 在此为了保留与 C 的相容性而保留此一特性.

"|"  对齐栏位的中心.

"="  如果字符串长度比栏位大小还长, 使用纵列模式 (column mode). 在此C++ sprintf格式化只对字符串有效, 其他的类型一律无效. 纵列模式中, 字符串中的字会自动换行 (wrap).

"#"  表格模式. 在栏位之内, 字符串中的每一个字会换一行 (即每个字后面加上 \n). 只对字符串有效.

n   以整数指定栏位大小. 用 * 代替整数则使用参数指定栏位大小. 如果 n 是 0, 则此栏除了数据以外就以空值 (zeros) 填满. 如果 n 不是 0, 此栏除了数据以外将放入空白字符 (space) 或是另外指定的字符.

"."n 指定输出的精确度为 n. 普通的字符串在此之后则被截断 (如果精确度 n 大于栏位长度, 则栏位长度变为精确度 n ). 表格则使用精确度指定纵列的总数 (如果不指定精确度, 则表格会自动计算最适合的输出结果). 精确度对于其他的数据类型无效.

":"n n 指定 fs 和精确度, 如果 n 是 0, 则原来用以填满栏位的空格就代以空值 (zeros).

"@"  参数为一个数组. 其他除了 @ 以外, 对应的格式数据亦将用于数组中的每一个元素.

"'X'" 单引号 (') 中的字符用以填满整个栏位中, 数据以外的空间. (预设值是空白字符) (如果同时在栏位大小之前指定一个空值, 又指定 'X' 字符串填满栏位, 则以后者为准) 注意: 如果欲填满的字符串中要使用单引号 (') 或是双引号 ("), 您必须使用 \' 或 \" 以避开编译器的检查.

以下是C++ sprintf格式化中指定类型的格式:

 

  1. %   此处不指定任何参数, 而以 % 输出. 忽略所有的修改格式 (modifier).  
  2. O   参数为 LPC 数据类型.  
  3. s   参数为字符串.  
  4. d, i 参数为整数, 并以十进位印出.  
  5. c   参数为整数, 并以字符印出.  
  6. o   参数为整数, 并以八进位印出.  
  7. x   参数为整数, 并以十六进位印出.  
  8. X   参数为整数, 并以十六进位印出 (A 到 F 以大写印出).  
  9. f   浮点数. 

 

返回: sprintf() 返回指定格式的字符串.

以上就是对C++ sprintf格式化的相关接受。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...