首页 > 其他分享 >printf输出说明

printf输出说明

时间:2024-02-26 15:33:06浏览次数:20  
标签:输出 格式化 说明 width PRId64 printf test

  1. 代码演示:
int64_t d = 123;
printf("test printf:%5" PRId64 "\n", d);
printf("test printf:%-*d", 5, d);
printf("test printf:%*d", 5, d);
// output
test printf:  123
test printf:123  test printf:  123
  1. 对齐
    在C语言的printf函数中,%*是一个格式转换说明符,用于指定输出字段的宽度。这里的*是一个占位符,表示该字段的宽度由后面的参数决定。

例如,printf("%*s", 10, "Hello")表示输出一个宽度为10的字符串"Hello",不足10个字符的宽度用空格填充。

%-*s中的-表示左对齐,即在右侧填充空格,*表示宽度由后面的参数决定,s表示输出字符串。

%*d%*f等格式转换说明符的含义类似,只是分别用于输出整数、浮点数等不同类型的数据。

以下是使用printf函数实现左对齐和右对齐的演示代码:

#include <stdio.h>

int main() {
    int width = 10;
    printf("%-*s|%*d|%*s\n", width, "Name", width, 24, width, "USA");
    printf("%-*s|%*d|%*s\n", width, "Alice", width, 30, width, "UK");
    printf("%-*s|%*d|%*s\n", width, "Bob", width, 22, width, "Canada");
    return 0;
}

  1. 格式化
    PRId64宏的定义如下:
// #include <inttypes.h>
#define PRId8        "hhd"
#define PRId16       "hd"
#define PRId32       "d"
#define PRId64       "lld"

PRId64是一个用于printf函数的格式化输出宏,用于表示一个64位整数。在使用时,可以直接在printf函数的格式化字符串中使用PRId64,然后将64位整数类型的变量传递给printf函数。

下面是一个简单的示例:

#include <stdio.h>
#include <inttypes.h>

int main() {
    int64_t num = 1234567890123456789LL;
    printf("The number is: %" PRId64 "\n", num);
    return 0;
}

在这个示例中,int64_t是一个64位整数类型,num是一个int64_t类型的变量,存储了一个64位整数值。%" PRId64 "\n"是格式化字符串,%" PRId64 表示占位符,PRId64表示使用PRId64宏表示的格式化输出,\n表示换行。printf函数会将num的值按照PRId64宏定义的格式化输出,输出结果为:

The number is: 1234567890123456789

注意,在使用PRId64宏时,需要包含inttypes.h头文件,因为PRId64宏的定义在inttypes.h头文件中。

标签:输出,格式化,说明,width,PRId64,printf,test
From: https://www.cnblogs.com/faithlocus/p/18034438

相关文章

  • 黑客类杂志说明-收集
    前言全局说明黑客杂志说明一、说明黑客杂志,由难->易《黑客防线》->《黑客手册》->《黑客x档案》https://www.zhihu.com/question/31905047二、《黑客防线》官网:http://www.hacker.com.cn1999年黑客防线是《家庭实用电脑世界》的一个版面。编辑:土豆(真名覃华,广......
  • .NET高级调试之sos命令输出看不懂怎么办
    一:背景1.讲故事很多.NET开发者在学习高级调试的时候,使用sos的命令输出会发现这里也看不懂那里也看不懂,比如截图中的这位朋友。.NET高级调试属于一个偏冷门的领域,国内可观测的资料比较少,所以很多东西需要你自己去探究源代码,然后用各种调试工具去验证,相关源代码如下:coreclr:......
  • WCH_ModBus网关模块使用说明
    目录1.Modbus网关模块介绍2.ModBus协议的特性3.模块简单调试使用3.1MODBUSCLIENT模式  3.2MODBUSSERVER模式相关文档工具下载连接1.模块优势●支持10/100M,全双工/半双工自适应以太网接口● 内置固件,无需用户编程开发,可通过上位机配置软件或者串口命令配......
  • ssts-hospital-web-master项目实战记录三十:项目迁移-插件实现说明
    记录时间:2024-02-26一、准备工作【使用“文心一言”搜索:Vue.js中模块和插件有什么区别?】在Vue.js中,模块(Modules)和插件(Plugins)都是用于扩展和增强Vue.js功能的方式,但它们在使用和目的上有一些不同。模块(Modules)模块是Vue.js中组织代码的一种方式,通常用于将应用程序划分为不同......
  • [oeasy]python0008_输出h字符_REPL_引号_括号_什么是函数
    输出h字符_REPL_引号_括号_什么是函数......
  • 使用SpringSecurity相关说明
    原理探析思路实现密码加密存储......
  • 视觉软件 VisionPro 与 C# 对接简单说明(包括常用控件)
    视觉软件VisionPro与C#对接简单说明(包括常用控件)C#和VisionPro对接:VisionPro的部分控件是可以直接在C#WinForm里调用的;算法文件在VisionPro平台里编辑好后保存下来也可以通过C#加载调用;下面我们主要说一下C#调用Vpp文件首先我们要先引用VisionPro平台的dll文件,在项目文件......
  • linux 中输出指定目录下所有一级目录的大小以及磁盘占用最大的目录
     001、[root@pc1test1]#ls##测试文件及目录dir1dir2dir3dir4file1file2[root@pc1test1]#du-ch##显示所有文件及目录的大小220M./dir1530M./dir26.6M./dir3/dir001207M......
  • Python 字符串格式化输出
    数字n:int=1000000000print(f'{n:_}')#1_000_000_000print(f'{n:,}')#1,000,000,000对齐var:str='var'#右对齐,使用_填充print(f'{var:_>20}')#_________________var#左对齐,使用#填充print(f'{var:#<20}�......
  • django模型models常用字段24个以及参数17个简要说明
    一、常用字段1、models.AutoField自增列=int(11)如果没有的话,默认会生成一个名称为id的列,如果要显式的自定义一个自增列,必须设置primary_key=True。2、models.CharField字符串字段,必须设置max_length参数3、models.BooleanField布尔类型=tinyint(1)不能为空,可......