当前位置: 首页 > news >正文

C++和C语言中填充字符、宽度的语法差异

本人因为昨天参加学校天梯赛,后惊讶发现天梯赛题目输出要求答案有格式需求,无奈落榜,仅以此文来告诫自身 (绷不住了)。

C语言

一、C 语言(printf)

基本格式%[flags][width][.precision]specifier

  • 宽度:指定最小输出宽度,不足时在左侧填充(默认空格)。

  • 标志0:当宽度指定时,用0填充左侧空白(仅对数值有效,会覆盖默认空格)。

  • 标志-:左对齐,右侧填充空格。

  • 精度.precision:对于浮点数,指定小数位数;对于整数,指定最小位数(不足补0)。

printf("%5d\n", 12); // 输出 " 12"(宽度5,右对齐,空格填充) printf("%05d\n", 12); // 输出 "00012"(宽度5,0填充) printf("%-5d\n", 12); // 输出 "12 "(左对齐) printf("%.2f\n", 3.1); // 输出 "3.10"(保留两位小数)

注意printf只能输出0或者空格,没有办法指定别的字符来填充

C++

需要头文件<iomanip>

  • setw(n):设置最小宽度,仅影响下一个输出项。

  • setfill(c):设置填充字符,默认为空格。

  • left/right:设置左对齐或右对齐。

  • setprecision(n):设置浮点数精度(配合fixed可固定小数位数)。-----设置的是有效字符(整数加上小数,fixed会明确小数点后几位)

    #include <iostream> #include <iomanip> using namespace std; int main() { cout << setw(5) << 12 << endl; // " 12" cout << setfill('0') << setw(5) << 12 << endl; // "00012" cout << left << setw(5) << 12 << endl; // "12 " cout << fixed << setprecision(2) << 3.1 << endl; // "3.10" cout << setfill('*') << setw(5) << 12 << endl; // "***12"(自定义填充) return 0; }

引以为戒 ,重视起来 :(

http://www.jsqmd.com/news/550950/

相关文章:

  • open_clip多模态模型实战指南:从概念到生产的全链路应用
  • Minecraft世界救援终极方案:Region Fixer全流程数据修复指南
  • 放弃Darknet21?聊聊我在RangeNet++上尝试不同Backbone和CRF后处理的效果对比
  • 拯救你的机械键盘:3步告别按键连击烦恼
  • AVIF插件让Photoshop图像处理效率提升50%:从安装到精通的完整指南
  • WorkshopDL:跨平台资源调度引擎的技术解析与实践指南
  • K210人脸识别门锁实战:如何用YOLOv2模型优化响应速度与防误触?
  • 颠覆式教育资源获取工具:让电子教材触手可及的全新方案
  • Qwen-Image-Edit-2509入门实战:快速制作节日营销图,零设计基础也能行
  • 微信小程序逆向工具实战指南:wxappUnpacker高效解析wxapkg全流程
  • 新手必看:5分钟学会用Visio绘制PAD图和N-S图(附实例解析)
  • Claude Code 从入门到实战:高效 AI 编程助手完全指南
  • 量子统计分布探秘:从玻尔兹曼到费米-狄拉克的物理世界
  • cv_unet_image-colorization新手入门:从安装到上色的完整流程
  • 别再被AI骗了,这个分层检索让它不得不诚实
  • 终极指南:wxappUnpacker 5步快速解包微信小程序源码
  • 智能仓储管理系统:中小企业数字化转型的全面解决方案
  • Minecraft数据救援:从损坏到恢复的技术侦探之旅
  • PPPoE拨号为何偏爱MTU 1492?揭秘MTU设置背后的网络分片奥秘
  • 在团队协作中直接 Clone 主仓库开发?别慌,这才是正确的 PR 提交流程
  • Fire Dynamics Simulator:火灾动力学模拟的技术原理与工程应用
  • QKeyMapper:重新定义设备控制逻辑的开源映射工具
  • Pyenv虚拟环境管理全攻略:从创建到迁移(Ubuntu20.04实战)
  • 3步搞定专业电路图绘制:Draw.io ECE插件让电子工程设计变得简单高效
  • 探索Cadence设计中的芯片世界:从数据手册到硬件实战
  • 静态肖像如何“活“起来?深度解析LivePortrait的3大核心技术突破
  • 快速掌握socat-windows:实用网络数据转发工具完全指南
  • WebLaTeX:重新定义LaTeX创作体验的协作平台
  • 开源阅读APP书源修复完全指南:从应急处理到长效维护
  • Python内存泄漏零容忍方案:从CPython对象模型到实时GC调优的7层架构设计图(工业级实战版)