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

C++中`printf`格式化输出的实用案例和说明

以下是C++中printf格式化输出的实用案例和说明:

  1. 基础整数输出
int num = 123;
printf("十进制: %d\n", num);  // 输出: 123
printf("八进制: %o\n", num);  // 输出: 173
printf("十六进制: %x\n", num); // 输出: 7b
  1. 浮点数控制
double pi = 3.1415926;
printf("默认: %f\n", pi);      // 输出: 3.141593
printf("保留2位: %.2f\n", pi); // 输出: 3.14
printf("科学计数: %e\n", pi);  // 输出: 3.141593e+00
  1. 字符串和字符
char ch = 'A';
char str[] = "Hello";
printf("字符: %c\n", ch);      // 输出: A
printf("字符串: %s\n", str);   // 输出: Hello
printf("前3字符: %.3s\n", str);// 输出: Hel
  1. 宽度和对齐
int hour = 9, min = 5;
printf("时间: %02d:%02d\n", hour, min); // 输出: 09:05
printf("左对齐: %-10s\n", str);         // 输出: Hello     
#include <iostream>
using namespace std;int main() {int hour =9, min = 5;char  str[]  = "hello"; char  str1[] = "world";printf("时间:%02d:%02d\n",hour,min);printf("左对齐:%-10s%s\n",str,str1);   //str 占10个字符宽度  -左对齐(默认右对齐),  hello 为5个字符,后面补5字符,printf("右对齐:%10s%s\n",str,str1);return 0;
}
输出:
时间:09:05
左对齐:hello     world
右对齐:     helloworld
  1. 64位整数输出
long long bigNum = 123456789012345;
printf("64位数: %lld\n", bigNum);       // 输出: 123456789012345
  1. 混合输出示例
printf("姓名: %-10s 年龄: %03d 成绩: %.1f\n", "Alice", 18, 95.5);
// 输出: 姓名: Alice      年龄: 018 成绩: 95.5

关键点说明:

  • %d用于普通整数,%ld用于长整数,%lld用于64位整数
  • %.2f控制小数位数,%5d控制输出宽度
  • %02d实现前导零填充,常用于时间格式化
  • 格式说明符必须与变量类型严格匹配

注意:虽然C++推荐使用cout,但printf在需要精确控制输出格式时仍然很有价值。对于复杂项目,建议使用C++的流式输出或格式化库。

http://www.dtcms.com/a/233988.html

相关文章:

  • Cad 反应器 cad c#二次开发
  • 05【Linux经典命令】Linux 用户管理全面指南:从基础到高级操作
  • Python Day42 学习(日志Day9复习)
  • Windows11:解决近期更新后无法上网的问题
  • 【连接器专题】案例:FPC焊接金手指顶层和底层开窗/焊盘为什么要错位?
  • 如何排查和解决PHP连接数据库MYSQL失败写锁的问题
  • ​AI大模型与法律:智能时代下的司法技术挑战
  • 基于机器学习的水量智能调度研究
  • 基于SpringBoot的房屋租赁系统的设计与实现(thymeleaf+MySQL)
  • Linux 常用命令与 Shell 简介
  • Ansys Maxwell:线圈和磁体的静磁 3D 分析
  • 从Gartner报告看Atlassian在生成式AI领域的创新路径与实践价值
  • x86 汇编中的【条件跳转指令】:从基础到扩展的全面解析(查表版)
  • TypeScript进阶知识点
  • 基于yolov8的obb框架, 开展指针类表计,指针位置识别的模型训练
  • Deployment实现扩展/收缩,以及滚动更新
  • 零依赖本地调试:VectorDB Lite +VectorDB CLI 高效构建向量数据库全流程
  • 多线程编程技术详解与实践(java篇)
  • java学习笔记——数组和二维数组
  • 使用反射对任意对象进行二进制序列化的程序
  • Gemini开源项目DeepResearch:基于LangGraph的智能研究代理技术原理与实现
  • 目标检测实战:让AI“看见“并定位物体(superior哥AI系列第11期)
  • Offline Transition Modeling via Contrastive Energy Learning
  • Nginx学习笔记
  • 百事公司借力一级方程式赛车拓展全球市场
  • gc2053驱动学习笔记
  • Python训练营---Day45
  • 60天python训练计划----day45
  • 《汇编语言》第15章 外中断
  • 从《现实不似你所见》探寻与缘起性空的思想交织