编程技能:格式化打印01,vsprintf 函数族简介

专栏导航

本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。

(一)WIn32 专栏导航

上一篇:编程技能:字符串函数14,memset

回到目录

下一篇:无

(二)MFC 专栏导航

上一篇:编程技能:字符串函数14,memset

回到目录

下一篇:无

本节前言

从本节开始,我们来讲解格式化打印。本节,是一个简介。

一.     什么是格式化打印

什么是格式化打印?

我们在基础的 C 语言学习里面,所接触到的 printf 函数,就是一个格式化打印函数。

print,是打印的意思。f,是 format 的简写。所以呢,printf 函数名,其实是 print 与 format 两个单词的结合。

所谓的,打印,不是指在打印机上,将文件内容给印出来。编程里的打印,指的是,将一段文字或者图形,输出显示在显示屏幕上。

格式化打印,它所涉及的,是一个函数族。其中呢,当然是包含着 printf 的。除了 printf 之外,还包含着 vsprintf,sprintf 等等的函数。

本板块,我们打算将格式化打印函数族,或者叫做 vsprintf 函数给讲解一下。

二.    讲解规划

在讲解本版块儿的时候,vsprintf,sprintf,printf,这三个函数我都打算去讲解。具体地,我会先去讲解 vsprintf,然后是去讲解 sprintf,最后是讲解 printf 。

详细地讲解这三个函数,并不是本版块儿的任务。如果以后,我去讲解汇编语言的话,那么,我会领着大家,认认真真地来学习一下 这三个格式化打印函数。而在此时,我只能假定,你具备了高级语言的编程基础,但是尚不具备汇编语言基础。在你尚不了解汇编语言的情况下,我很难让你彻底理解这三个格式化打印函数。

虽说,本版块儿不会让你彻底理解它们。但是呢,我会尽力地做到,让你理解它们的基本含义,让你会用它们。

在讲解这几个函数的时候,还会涉及 NULL 这一个东西,也会涉及 va_list,va_start,va_arg,va_end 等等的代码知识。

讲完了这三个函数的基本的知识与用法以后,我还会讨论一下 printf 与 sprintf 的一点提升性质的用法。这点提升性质的用法,估计,你在基础的语法学习阶段,很有可能是学过的。然而,你可能记得不扎实,可能不太经常使用那些个扩展用法。而在本专栏里面,我要求,大家要对 printf 与 sprintf 的一些个扩展用法,有所认识。不要求你全部记住。但是呢,至少,当你有一天需要用到的时候,你能够想到,可以到我的文章里去查,或者在其他的地方查询相关知识点。

讲完了格式化打印函数族以后,我们就会进入正式的 WIndows 编程的学习了。

我个人还是比较期待着正式的 WIndows 编程知识的讲解的。因为,在当前,多数时候,我们都是在和控制台界面打交道。我们终究还是要去和图形界面打交道的。图片,动画,视频,各种多媒体,都要求我们和图形界面打交道。

实际上,图形界面的编程,是非常地有意思的。对于图形界面编程的学习,我相信,它可以在更大的程度上,锻炼你的编程技能。

三.    为何要去学习格式化打印函数族

直接去讲解 Win32 与 MFC 知识,那不好吗?为何要先去学习格式化打印函数呢?

因为,在正式的 Win32 的学习中,我们可能会需要用到格式化打印的知识。

比如说,在 WIndows 编程里面,有着 wsprintf 这样的函数。想要理解这样的函数,你最好是先学习过 sprintf 函数。而想要很好地理解 sprintf 函数,最好呢,你事先学习过 vsprintf 函数。

本版块儿的知识,我认为,大概还是有着一定的挑战性的。

结束语

本节只是一个简介。下一节,我们来讲解 vsprintf 函数。

专栏导航

本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。

(一)WIn32 专栏导航

上一篇:编程技能:字符串函数14,memset

回到目录

下一篇:无

(二)MFC 专栏导航

上一篇:编程技能:字符串函数14,memset

回到目录

下一篇:无

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

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

相关文章

PECVD 生成 SiO₂ 的反应方程式

在PECVD工艺中,沉积氧化硅薄膜以SiH₄基与TEOS基两种工艺路线为主。 IMD Oxide(USG) 这部分主要沉积未掺杂的SiO₂,也叫USG(Undoped Silicate Glass),常用于IMD(Inter-Metal Diele…

[IMX] 10.串行外围设备接口 - SPI

代码链接:GitHub - maoxiaoxian/imx 参考资料: https://zhuanlan.zhihu.com/p/290620901 SPI协议详解 - bujidao1128 - 博客园 SPI总线协议及SPI时序图详解 - Ady Lee - 博客园 目录 1.SPI 简介 2.I.MX6U ECSPI 简介 2.1.控制寄存器 1 - ECSPIx_CO…

基于Docker和YARN的大数据环境部署实践最新版

基于Docker和YARN的大数据环境部署实践 目的 本操作手册旨在指导用户通过Docker容器技术,快速搭建一个完整的大数据环境。该环境包含以下核心组件: Hadoop HDFS/YARN(分布式存储与资源调度)Spark on YARN(分布式计算…

Java设计模式之中介者模式详解

Java设计模式之中介者模式详解 一、中介者模式核心思想 核心目标:通过中介对象封装一组对象间的交互,将网状的对象关系转变为星型结构。如同机场控制塔协调所有飞机的起降,避免飞机之间直接通信导致的混乱。 二、中介者模式类图(…

ArcGIS应用指南:基于网格与OD成本矩阵的交通可达性分析

随着城市化进程的加速,交通系统的效率和公平性日益成为影响居民生活质量的关键因素之一。在这一背景下,如何科学评估城市区域内的交通可达性,成为了城市规划、交通管理和公共政策制定中的重要议题。作为中国东南沿海的重要港口城市,厦门以其独特的地理优势和快速的城市发展…

基于NXP例程学习CAN UDS刷写流程

文章目录 前言1.概述1.1 诊断报文 2.协议数据单元(N_PDU)2.1 寻址信息(N_AI)2.1.1 物理寻址2.1.2 功能寻址2.1.3 常规寻址(Normal addressing)2.1.4 常规固定寻址(Normal fixed addressing)2.1.5 扩展寻址&…

近期手上的一个基于Function Grap(类AWS的Lambda)小项目的改造引发的思考

函数式Function是云计算里最近几年流行起来的新的架构和模式,因为它不依赖云主机,非常轻量,按需使用,甚至是免费使用,特别适合哪种数据同步,数据转发,本身不需要保存数据的业务场景,…

什么是 SQL 注入?如何防范?

什么是 SQL 注入?如何防范? 1. SQL 注入概述 1.1 基本定义 SQL 注入(SQL Injection)是一种通过将恶意SQL 语句插入到应用程序的输入参数中,从而欺骗服务器执行非预期SQL命令的攻击技术。攻击者可以利用此漏洞绕过认证、窃取数据甚至破坏数据库。 关键结论:SQL 注入是O…

高德地图应用OceanBase单元化构建下一代在线地图服务

IEEE International Conference on Data Engineering (ICDE) 是数据库和数据工程领域的顶级学术会议之一(与SIGMOD、VLDB并成为数据库三大顶会),自1984年首次举办以来,每年举办一次。ICDE涵盖广泛的主题,包括数据库系统…

Vue3中Element-Plus中el-input及el-select 边框样式

如果不需要显示下边框&#xff0c;纯无边框直接将 【border-bottom: 1px solid #C0C4CC; 】注掉或去掉即可。 正常引用组件使用即可&#xff0c;无须自定义样式&#xff0c;最终效果CSS样式。 <style scoped> /* 输入框的样式 */ :deep(.el-input__wrapper) { box-sha…

如何做好一份技术文档:从信息孤岛到知识图谱的进阶之路

如何做好一份技术文档&#xff1a;从信息孤岛到知识图谱的进阶之路 在软件开发的漫长征程中&#xff0c;技术文档如同隐藏在代码丛林中的路标&#xff0c;不仅指引着开发团队的前行方向&#xff0c;更在产品迭代的岁月里构筑起知识传承的桥梁。一份优质的技术文档&#xff0c;既…

Docker Compose使用自定义用户名密码启动Redis

通常我们使用下面的命令来启动 redis 容器&#xff0c;此时连接 Redis 的时候是不需要用户认证的 sudo docker run -d --name my-redis -p 6379:6379 redis此时我们可以使用 redis-server --requirepass "mypassword" 来指定默认用户&#xff08;default&#xff09…

1.什么是node.js、npm、vue

一、Node.js 是什么&#xff1f; &#x1f63a; 定义&#xff1a; Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境&#xff0c;让你可以在浏览器之外运行 JavaScript 代码&#xff0c;主要用于服务端开发。 &#x1f63a;从计算机底层说&#xff1a;什么是“运…

如何在 Vue.js 中集成 Three.js —— 创建一个旋转的 3D 立方体

在这篇文章中&#xff0c;我将向大家展示如何将 Three.js 与 Vue.js 结合&#xff0c;创建一个简单的 3D 场景&#xff0c;并展示一个旋转的立方体。通过这个简单的示例&#xff0c;你将学习到如何在 Vue 项目中集成 Three.js&#xff0c;以及如何创建动态的 3D 内容。 1. 安装…

DeepSeek‑R1-0528 重磅升级:蚂蚁百宝箱免费、无限量调用

DeepSeek‑R1-0528 重磅升级&#xff1a;蚂蚁百宝箱免费、无限量调用 端午假期前一天&#xff0c;DeepSeek‑R1 更新到了 0528 版本&#xff01; 官方说明&#xff1a;0528 版本在深度思考与推理能力方面显著增强——在数学、编程与通用逻辑等多项基准测评中&#xff0c;表现已…

RS232转Profinet网关在检漏仪与西门子PLC里的应用

RS232转Profinet网关在检漏仪与西门子PLC里的应用 在工业自动化和控制领域&#xff0c;设备间的高效通信至关重要。RS232转Profinet网关作为一种关键的转换工具&#xff0c;能够将传统的RS232接口设备接入现代化的Profinet网络&#xff0c;从而实现数据的无缝传输和设备的远程…

jenkins-jenkins简介

一、简介 jenkins是一个可扩展的持续集成引擎。持续集成&#xff0c;也就是通常所说的CI&#xff08;Continues Integration&#xff09;&#xff0c;可以说是现代软件技术开发的基础。持续集成是一种软件开发实践&#xff0c; 即团队开发成员经常集成他们的工作&#xff0c;通…

vue发版html 生成打包到docker镜像进行发版

将Vue项目打包成Docker镜像部署主要分为以下几个步骤&#xff1a; 1. Vue项目打包‌ 执行npm run build生成dist文件夹&#xff0c;包含静态资源文件 注意检查index.html中资源引用路径是否正确&#xff08;避免绝对路径问题&#xff09; 2. 编写Dockerfile Copy Code FROM…

扫地机器人苦寻新引擎,大疆们却已攻入腹地

原创 科技新知 前沿科技组 作者丨江篱 编辑丨樱木、九黎 竞争激烈的扫地机器人赛道&#xff0c;迎来了新玩家。 据近日相关报道&#xff0c;大疆扫地机器人产品已开始量产&#xff0c;预计将于6月份发布。消息称大疆研发扫地机器人已超过四年&#xff0c;即将上市的产品是扫…

【C++】22. 红黑树封装实现Mymap和Myset

上一章节我们实现了红黑树&#xff0c;这一章节我们就用红黑树封装来实现一个我们自己的map和set 1. 源码及框架分析 SGI-STL 3.0版本的源代码中&#xff0c;map和set的实现主要分布在若干头文件中&#xff0c;这些头文件构成了这两个容器的完整实现架构&#xff1a; 核心头文…