c语言 库打印函数

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=png

函数

#include<stdio.h>int printf(const char *format, ... );/* [until c99]写结果到stdout */int printf(const char *restrict format, ... );/* [since c99] */int fprintf(FILE *stream, const char *format, ... );/* [until c99]写结果到文件流stream */int fprintf(FILE *restrict stream, const char *restrict format, ... );int sprintf(char *dest, const char *format, ... );/* [until c99]写结果至dest */int sprintf(char *restrict dest, const char *restrict format, ... );int snprintf(char *restrict dest, size_t bufsz, const char *restrict format, ... );/* [since c99]写结果至dest,至多写bufsz-1个字符。产生的字符串会以空字符终止,除非bufsz为0。若bufsz为0,则不写入任何内容,且dest可以是空指针,然而依旧计算返回值(会写入的字符数,不包含空终止符)并返回。 */int vprintf(const char *format, va_list ap);int vprintf(const char *restrict format, va_list ap);int vfprintf(FILE *stream, const char *format, va_list ap);int vfprintf(FILE *restrict stream, const char *restrict format, va_list ap);int vsprintf(char *dest, const char *format, va_list ap);int vsprintf(char *restrict dest, const char *restrict format, va_list ap);int vsnprintf(char *restrict dest, size_t bufsz, const char *restrict format, va_list ap);

参数

stream -- 要写入的输出文件流bufsz  -- 最多写入bufsz-1个字符,再加上空终止符format -- 指向指定数据转译方式的空终止多字节字符串的指针

640?wx_fmt=png

Example

#include <stdio.h>int main(){  /* String test */  char *str = "hello";  printf("str = .%s.\r\n", str);  printf("str = .%-10s.\r\n", str);  printf("str = .%10s.\r\n", str);  printf("str = .%-*s.\r\n", 10, str);  printf("str = .%*s.\r\n", 10, str);  printf("str = .%*.*s.\r\n", 10, 5, str);  printf("str = .%*.*s.\r\n", 10, 2, str);  printf("str = .%10.5s.\r\n", str);  printf("str = .%10.2s.\r\n", str);  /* Integer test */  printf("dec = .%d.\r\n", 555);  printf("dec = .%10d.\r\n", 555);  printf("dec = .%10.5d.\r\n", 555);  printf("dec = .%-10.5d.\r\n", 555);  printf("dec = .%*.*d.\r\n", 10, 5, 555);  printf("dec = .%*.*d.\r\n", 10, 2, 555);  printf("hex = .%x.\r\n", 555);  printf("hex = .%X.\r\n", 555);  printf("hex = .%#x.\r\n", 555);  printf("hex = .%10x.\r\n", 555);  printf("hex = .%10.5x.\r\n", 555);  printf("hex = .%-10.5x.\r\n", 555);  printf("hex = .%*.*x.\r\n", 10, 5, 555);  printf("hex = .%*.*x.\r\n", 10, 2, 555);  printf("oct = .%o.\r\n", 555);  printf("oct = .%#o.\r\n", 555);  printf("oct = .%10o.\r\n", 555);  printf("oct = .%10.5o.\r\n", 555);  printf("oct = .%-10.5o.\r\n", 555);  printf("oct = .%*.*o.\r\n", 10, 5, 555);  printf("oct = .%*.*o.\r\n", 10, 2, 555);  /* Float test */  printf("flt = .%f.\r\n", 3.1415);  printf("flt = .%lf.\r\n", 3.1415);  printf("flt = .%10f.\r\n", 3.1415);  printf("flt = .%10.5f.\r\n", 3.1415);  printf("flt = .%-10.5f.\r\n", 3.1415);  printf("flt = .%*.*f.\r\n", 10, 5, 3.1415);  printf("flt = .%*.*f.\r\n", 10, 2, 3.1415);  return 0;}/* 运行结果 */str = .hello.str = .hello     .str = .     hello.str = .hello     .str = .     hello.str = .     hello.str = .        he.str = .     hello.str = .        he.dec = .555.dec = .       555.dec = .     00555.dec = .00555     .dec = .     00555.dec = .       555.hex = .22b.hex = .22B.hex = .0x22b.hex = .       22b.hex = .     0022b.hex = .0022b     .hex = .     0022b.hex = .       22b.oct = .1053.oct = .01053.oct = .      1053.oct = .     01053.oct = .01053     .oct = .     01053.oct = .      1053.flt = .3.141500.flt = .3.141500.flt = .  3.141500.flt = .   3.14150.flt = .3.14150   .flt = .   3.14150.flt = .      3.14.
/* snprintf实现strlen功能 */#include <stdio.h>#include <string.h>int main(){ char *str = "helloworld"; int slen = snprintf(NULL, 0, "%s", str); printf("%d - %ld\r\n",slen, strlen(str)); return 0;}#include <stdio.h>#include <stdarg.h>#include <time.h> void debug_log(const char *fmt, ...){ struct timespec ts; timespec_get(&ts, TIME_UTC); char time_buf[100]; size_t rc = strftime(time_buf, sizeof time_buf, "%D %T", gmtime(&ts.tv_sec)); snprintf(time_buf + rc, sizeof time_buf - rc, ".%06ld UTC", ts.tv_nsec / 1000); va_list args1; va_start(args1, fmt); va_list args2; va_copy(args2, args1); char buf[1+vsnprintf(NULL, 0, fmt, args1)]; va_end(args1); vsnprintf(buf, sizeof buf, fmt, args2); va_end(args2); printf("%s [debug]: %s\n", time_buf, buf);} int main(void){ debug_log("Logging, %d, %d, %d", 1, 2, 3);}


文章转载自我师兄的博客,内容是我师兄总结的,如果有转载的,请注明出处,原文请点击左下角原文链接




640?wx_fmt=png


当你看到这里的时候,说明你已经阅读完上面的内容

不管怎样,感谢您有心或者无意的关注和支持

想获取学习1024G资料,请点击状态栏公众号福利按钮


640?wx_fmt=jpeg




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xhprof windows下安装和使用(转载)

1、使用5.3.3以上的php版本&#xff0c;或者直接下载wamp2.1集成环境。 2、下载xhprof for windows版本&#xff0c;地址&#xff1a;http://www.benjamin-carl.de/?downloadXHProf-0.10.0-PHP-5.3.3-VC6-x86-TS&#xff0c;把解压后的dll文件放到php的ext目录里面。 关于这个…

B树学习总结

B树 多路搜索树 当数据规模足够大的时候, 大部分数据存储到外存中, 常规的平衡二叉搜索树将无法满足需求理由如下: 常规二叉平衡搜索树每当进行search(),insert(),remove()操作的时候就会进行节点的切换,从而导致大量的IO操作,就此提出了多路搜索,尝试将原本的多个节点合在一…

嵌入式未来趋势是什么?

感谢CSDN编辑邀请 前几天通过了CSDN博客专家的申请&#xff0c;在CSDN博客摸爬滚打多少个日日夜夜后终于修成正果了&#xff0c;当时通过CSDN博客专家时赶紧把消息发给了以前的创新基地同学&#xff0c;想起来&#xff0c;我们那时候刚开始学习单片机&#xff0c;就是从CSDN上面…

js动态添加删除节点

转载于:https://www.cnblogs.com/jiaobaobao/p/6762692.html

书中自有黄金屋~外加中奖结果通知

人生的路很长&#xff0c;很艰辛&#xff0c;只有不断学习才能超越梦想&#xff0c;大牛是如何成长的&#xff01;首先要多看多听多写~~今天推荐一些大牛们都关注的技术公众号&#xff0c;机器学习、架构、前端、嵌入式、PY学习.....希望能够帮助到大家&#xff0c;引领我们前行…

拨号云服务器怎么自动配置网关_云服务器配置网站卡慢怎么办

网站访问卡慢有很多原因&#xff0c;一次完整的 HTTP 请求包括域名解析、建立 TCP 连接、发起请求、云服务器接收到请求进行处理并返回处理结果、浏览器对 HTML 代码进行解析并请求其他资源&#xff0c;以及对页面进行渲染呈现。其中&#xff0c;HTTP 的请求过程经历了用户本地…

手机java软件_浅谈软件开发就业前景

​  我国信息化人才培养还处于发展阶段&#xff0c;导致社会实际需求人才基数远远大于信息化人才的培养基数&#xff0c;使得数以万计的中小企业急需全面系统掌握软件开发基础技能与知识的软件工程师。目前对软件已达20万并且以每年20%左右的速度增长。在未来5年内合格软件人…

ufldl学习笔记与编程作业:Multi-Layer Neural Network(多层神经网络+识别手写体编程)...

ufldl学习笔记与编程作业&#xff1a;Multi-Layer Neural Network(多层神经网络识别手写体编程) ufldl出了新教程&#xff0c;感觉比之前的好&#xff0c;从基础讲起&#xff0c;系统清晰&#xff0c;又有编程实践。 在deep learning高质量群里面听一些前辈说&#xff0c;不必深…

sql查询无结果返回空_3分钟短文 | Laravel 查询结果检查是不是空,5个方法你别用错...

引言Laravel 提供了 Eloquent ORM 对象用于操作数据库&#xff0c;将其进行抽象方便操作。因为设计的灵活度&#xff0c;大家在使用Model查询数据集的时候&#xff0c;会面临结果为空&#xff0c;记录不存在的问题&#xff0c; 那么如何有效地判断查询记录为空呢&#xff1f;本…

深度优先搜索小结

深度优先搜索(DFS) 深度优先搜索就好比走迷宫, 不断顺着一条路走, 直到走不通为止, 然后回退到上一个路口再向另外的方向行走(走过的方向就不会再走了,又不是傻子, 知道走不通,还向走不通的方向走), 不断重复(试过所有路口, 状态转移), 重复直到找到唯一的一条合适的路径; DFS…

python 串口_如何使用Python开发串口通讯上位机(一)

用Python开发串口通讯型上位机&#xff0c;其实并非最优解&#xff0c;本系列更新只为个人学习与总结。如果有C语言底子&#xff0c;嵌入式层面的上位机开发&#xff0c;C Builder&#xff0c;C#才是更加好用的利器。1什么是上位机从事过嵌入式软件开发或者工控机开发的&#x…

算法题之求二叉树的最大距离

二叉树是一种非常经典的数据结构。如果我们把二叉树看成一个图&#xff0c;父子节点之间的连线看成是双向的&#xff0c;我们姑且定义"距离"为两节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。 下面我们随意构造出一棵二叉树&#xff0c…

php 公众号验证回调方法_微信公众号关键词自动回复设置方法!

什么是公众号关键词自动回复&#xff1f;在微信公众号平台设置关键词自动回复&#xff0c;可以通过添加规则&#xff0c;关注/订阅的用户发送的消息内容如果是你设置的关键字&#xff0c;即可以实现自动回复预先设置好的内容。关键字自动回复设置方法&#xff1a;1、 首先我们进…

图文|Android 使用Thread 和多线程使用互斥锁

为什么需要多线程进行开发&#xff1f;多线程不管是嵌入式系统RTOS&#xff0c;Linux&#xff0c;还是应用开发&#xff0c;中间件开发&#xff0c;都是必不可少的&#xff0c;做一个技术的时候&#xff0c;如果能做到举一反三&#xff0c;下次使用的时候不会再遇到坑&#xff…

计算机专业的学生该选择日后的人生道路?继续从事IT还是考公务员……

问题来自知乎原问题如下&#xff1a;知乎上的盆友们大家好&#xff01;我是某高校大二学生。万能的知友们&#xff0c;有相关经验的大家给点宝贵意见呗&#xff0c;万分感谢。个人问题&#xff1a;我当时是听说这一行工资高&#xff0c;因为家里条件一般&#xff0c;所以想要挣…

汇编比较两个数大小_计算机是怎样跑起来的 -- 体验一次汇编过程

标志内存或I/O中存储单元的数字叫做“地址”。CPU中的标志寄存器有什么作用&#xff1f;用于在运算指令执行后&#xff0c;存储运算结果的某些状态。从程序员的角度看硬件CPU&#xff1a;种类&#xff0c;时钟信号的频率。可以使用哪种机器语言取决于CPU的种类。内存信息&#…

android区块链 钱包_区块链钱包Cashbox 开发工程师聊一聊开源

今天与大家聊一聊软件开源。事情的起因是一次闲谈的时候&#xff0c;市场部的同事表示&#xff1a;不做软件开发的人不能够理解为什么要把软件源代码公开出去。当时的我很惊讶&#xff0c;因为就像他们不理解为什么要开源一样&#xff0c;我也不理解他们为什么不理解为什么要开…

最新车载导航端口检测工具_高德地图这个功能 把微信都没做好的车载社交解决了?...

在汽车网联化和智能化带给人们的诸多想象里&#xff0c;车内社交似乎是最虚无缥缈的那个。在移动互联网领域&#xff0c;微信通过满足人们社交需求这个基本点&#xff0c;构建起庞大的用户群体&#xff0c;展示出巨大的市场前景。但在驾车场景下&#xff0c;车载社交该怎么玩&a…

王译潇20162314 第九周作业总结

学号 20162314 2016-2017-2 《Java程序设计》第九周学习总结 教材学习内容总结 数据库是为其他程序提供数据的应用软件 关系数据库通过唯一的标识符在不同表的记录间建立了关系 JDBC API用来建立到数据库的连接 CREATE TABLE SQL 语句用来创建新的数据库表 ALTER TABLE SQL 语句…

sketchup边线设置_春天花花天桥,SketchUp草图大师快速建模!

最近小吧在网上看到一座设计很特别的天桥&#xff0c;形状很像一朵花&#xff0c;名字也十分写实——春花天桥。喏&#xff0c;就是下面这个家伙&#xff01;图片来自网络春花天桥是2011年深圳举办大运会前夕投资建设的形象提升工程之一&#xff0c;在建设初期就被定位为地标性…