当前位置:首页 > 公众号精选 > 嵌入式大杂烩
[导读]来源:CSDN-恋猫大鲤鱼编译环境:Linux环境以g4.4.6编译成64位程序1.printf()简介printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件stdio.h。函数原型:int...

来源:CSDN - 恋猫大鲤鱼


编译环境:Linux 环境以 g 4.4.6 编译成 64 位程序

1.printf() 简介

printf() 是 C 语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf() 申明于头文件 stdio.h。

函数原型:

int printf ( const char * format, ... );
返回值:
正确返回输出的字符总数,错误返回负值。与此同时,输入输出流错误标志将被置值,可由指示器函数 ferror(FILE *stream) 来检查输入输出流的错误标志,如果 ferror() 返回一个非零值,表示出错。

调用格式:

printf("格式化字符串", 输出表列)
格式化字符串包含三种对象,分别为:
(1)字符串常量;
(2)格式控制字符串;
(3)转义字符。

字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以 % 开头的字符串,在 % 后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。

2.格式控制字符串详解

printf() 的格式控制字符串组成如下:

%[flags][width][.prec][length]type
分别为:

%[标志][最小宽度][.精度][类型长度]类型。

2.1 类型(type)

首先说明类型,因为类型是格式控制字符串的重中之重,是必不可少的组成部分,其它的选项都是可选的。type 用于规定输出数据的类型,含义如下:

字符对应数据类型含义示例
d/iint输出十进制有符号 32bits 整数,i 是老式写法printf("%i",123);输出123
ounsigned int无符号8进制(octal)整数(不输出前缀0)printf("0%o",123);输出0173
uunsigned int无符号10进制整数printf("%u",123);输出123
x/Xunsigned int无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF(不输出前缀0x)printf("0x%x 0x%X",123,123);输出0x7b 0x7B
f/lffloat(double)单精度浮点数用f,双精度浮点数用lf(printf可混用,但scanf不能混用)printf("%.9f %.9lf",0.000000123,0.000000123);输出0.000000123 0.000000123。注意指定精度,否则printf默认精确到小数点后六位
Ffloat(double)与f格式相同,只不过 infinity 和 nan 输出为大写形式。例如printf("%f %F %f %F\n",INFINITY,INFINITY,NAN,NAN);输出结果为inf INF nan NAN
e/Efloat(double)科学计数法,使用指数(Exponent)表示浮点数,此处"e"的大小写代表在输出时“e”的大小写printf("%e %E",0.000000123,0.000000123);输出1.230000e-07 1.230000E-07
gfloat(double)根据数值的长度,选择以最短的方式输出,%f或%eprintf("%g %g",0.000000123,0.123);输出1.23e-07 0.123
Gfloat(double)根据数值的长度,选择以最短的方式输出,%f或%Eprintf("%G %G",0.000000123,0.123);输出1.23E-07 0.123
cchar字符型。可以把输入的数字按照ASCII码相应转换为对应的字符printf("%c\n",64)输出A
schar*字符串。输出字符串中的字符直至字符串中的空字符(字符串以空字符’\0‘结尾)printf("%s","测试test");输出:测试test
Swchar_t*宽字符串。输出字符串中的字符直至字符串中的空字符(宽字符串以两个空字符’\0‘结尾)setlocale(LC_ALL,"zh_CN.UTF-8");
wchar_t wtest[]=L"测试Test";
printf("%S\n",wtest);
输出:测试test | | p | void* | 以16进制形式输出指针 | printf("0x%p","lvlv");输出:0x000000013FF73350 | | n | int* | 什么也不输出。%n对应的参数是一个指向signed int的指针,在此之前输出的字符数将存储到指针所指的位置 | int num=0;
printf("lvlv%n",
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2024年5月14日 /美通社/ -- 2024年5月9日,富士胶片控股株式会社(以下简称"富士胶片集团")公布了2023财年的财务业绩。 数据显示,截止2024年3月31日,得益于医疗系统...

关键字: 富士 CD DM 影像

现有股东Philip Fayer将转出其绝大部分现有股权,现有股东Novacap和CDPQ将转出其大部分现有股权 主要亮点: 全球领先的支付公司Nuvei与金融科技私募股权投资领域的重要企业Advent通过全现...

关键字: NOVA IP INTERNATIONAL CD

上海2023年9月13日 /美通社/ -- 9月5日-6日,第九届CDIE数字化创新博览会(以下简称为"第九届CDIE"),于上海张江科学会堂盛大举行。在当晚的"第三届CDI华鹰数字指数颁奖...

关键字: 数字化 创新奖 CD AI

北京2023年9月4日 /美通社/ -- 2023年中国国际服务贸易交易会(简称服贸会)将于2023年9月2日—6日在北京国家会议中心及首钢园区举办。首次参展服贸会的华夏英泰(北京)生物技术有限公司(简称"华夏...

关键字: ST 管线 TC CD

上海2023年3月6日 /美通社/ -- 致力于与研究人员合作推动科学进步并加速实现突破的全球生命科学公司abcam(NASDAQ:ABCM)近日宣布授权迈杰医学,双方将就Claudin18.2伴随诊断的开发、注册和商业...

关键字: 开发平台 ADC NI CD

该运营商中立都市园区(Carrier-neutral Metro Campus)通过PlatformDIGITALTM为充满活力的互联数据社区提供高达70MW的IT容量和全球...

关键字: 数据中心 CD DIGITAL BSP

美国罗克维尔和中国苏州2023年1月18日 /美通社/ -- 信达生物制药集团(香港联交所股票代码:01801),一家致力于研发、生产和销售用于治疗肿瘤、自免、代谢、眼科等重大疾病领域创新药物的生物制药公司,宣布:公司五...

关键字: PD CD 代码 NI

上海2023年1月18日 /美通社/ -- 武田中国今日宣布,今年新增三款创新药物列入《国家基本医疗保险、工伤保险和生育保险药品目录(2022年)》,包括罕见病全球创新药拉那利尤单抗注射液、肿瘤靶向药物布格替尼...

关键字: BSP NI CD CAN

一线、复发/难治适应症同时获批,将改写20年弥漫大B细胞淋巴瘤治疗标准 上海2023年1月13日 /美通社/ -- 2023年1月13日,罗氏制药中国宣布,旗下全球首个靶向CD79b的抗体药物偶联物(ADC)优罗华&r...

关键字: BSP CD ADC SE

美国罗克维尔和中国苏州2023年1月5日 /美通社/ -- 信达生物制药集团(香港联交所股票代码:01801),一家致力于研发、生产和销售肿瘤、自免、代谢、眼科等重大疾病领域创新药物的生物制药公司,宣布IBI351(GF...

关键字: 控制 CD DC IO
关闭
关闭