格式化字符串中的大S和小s

C语言printf动态格式化:%*s、%.*s与%-.*s的深度解析与应用 格式化输出是编程中处理数据呈现的基础技术,其核心原理是通过格式说明符控制数据的显示方式。在C语言中,printf函数是实现格式化输出的关键工具,它通过解析格式字符串中的占位符,将内存中的数据转换为可读文本。这项技术的工程价值在于提升代码的灵活性与安全性,特别是在处理动态数据或不确定长度的内容时。在实际应用场景中,如日志系统、报表生成或命令行工具开发,经常需要根据运行时数据动态调整输出宽度、精度和对齐方式。本文聚焦于printf中带星号(*)的格式化说明符,深入探讨%*s、%.*s和%-.*s的用法与区别,帮 阅读详情

// 输出中文

 char szA[8];
 WCHAR szW[8];

 sprintf(szA, "%s", L"和平");    // 乱码,四个字节
 sprintf(szA, "%s", "和平");     // 和平

 sprintf(szA, "%S", L"和平");    // 零字节
 sprintf(szA, "%S", "和平");     // 零字节

 swprintf(szW, L"%s", L"和平");    // 和平,四个字节
 swprintf(szW, L"%s", "和平");    // 无法输出,四个字节,内容是ANSI码

 swprintf(szW, L"%S", L"和平");    // 无法输出,八个字节,内容是Unicode码
 swprintf(szW, L"%S", "和平");    // 无法输出,八个字节,内容是ANSI码


 wsprintfA(szA, "%s", L"和平");    // 乱码,四个字节
 wsprintfA(szA, "%s", "和平");    // 和平

 wsprintfA(szA, "%S", L"和平");    // 和平
 wsprintfA(szA, "%S", "和平");    // 乱码,两个字节

 wsprintfW(szW, L"%s", L"和平");    // 和平,四个字节
 wsprintfW(szW, L"%s", "和平");    // 无法输出,四个字节,内容是ANSI码

 wsprintfW(szW, L"%S", L"和平");    // 无法输出,六个字节,内容是Unicode码
 wsprintfW(szW, L"%S", "和平");    // 和平,八个字节
 

 

// 输出英文

 char szA[8];
 WCHAR szW[8];

 sprintf(szA, "%s", L"well");    // w,一个字节
 sprintf(szA, "%s", "well");     // well,四个字节

 sprintf(szA, "%S", L"well");    // well,四个字节
 sprintf(szA, "%S", "well");     // 零字节

 swprintf(szW, L"%s", L"well");    // well,八个字节
 swprintf(szW, L"%s", "well");    // 乱码,四个字节

 swprintf(szW, L"%S", L"well");    // w,两个字节
 swprintf(szW, L"%S", "well");    // well,八个字节


 wsprintfA(szA, "%s", L"well");    // w,一个字节
 wsprintfA(szA, "%s", "well");    // well,四个字节

 wsprintfA(szA, "%S", L"well");    // well,四个字节
 wsprintfA(szA, "%S", "well");    // 乱码,四个字节

 wsprintfW(szW, L"%s", L"well");    // well,八个字节
 wsprintfW(szW, L"%s", "well");    // 乱码,四个字节,内容是ANSI码

 wsprintfW(szW, L"%S", L"well");    // w,两个字节
 wsprintfW(szW, L"%S", "well");    // well,八个字节

Python 字符串格式化(%和format) 相比于 C 风格的格式字符串,format() 函数 / 方法是 Python 3 添加的高级字符串格式机制,不在使用 % 操作符。% 格式化操作符的写法来自 C 语言的 printf 函数,Python 及其他一些编程语言都依照了相同的写法来定义自己的格式字符串。总体而言,% 百分号方式比较老,而 format 方式是比较先进的,企图替代古老的方式,目前两者共存,可以根据自己的实际需要来选择。提示:% 操作符左边的文本模板被称为“格式字符串”。(1)使用% 格式化操作符输出“字符串”和“整数” 阅读详情

相关推荐

printf,sprintf,sprintf_s,_snprintf_s,vsprintf,vsnprintf,_vsnprintf_s,_vscprintf等格式化字符串使用与区别

最近在为新做的项目找个好用的第三方日志库,感觉log4cpp挺好用的,日志输出使用了格式化字符串,不同的函数功能不同,而且变异版本比较多,自己都有点搞昏了,网上搜索也比较笼统,下面是自己coding测试格式化字符串的过程(vs2015,win10  x64环境),供参考 有C语言写作历史的程序员往往特别喜欢printf 函数。即使可以使用更简单的命令(例如puts),但printf 出现在Ker...

xianzongtanxun的专栏 8902

printf()详解

@TOC 版权声明:感谢您对博文的关注!校招与社招,有需要内推腾讯的可以QQ(1589276509)or 微信(louislvlv)联系我哈,期待您的加入。 https://blog.youkuaiyun.com/K346K346/article/details/52252626 ...

qq_42908110的博客 2520

格式化字符串漏洞

格式化字符串是一种很常见的漏洞,其产生根源是printf函数设计的缺陷,即printf()函数并不能确定数据参数arg1,arg2…究竟在什么地方结束,也就是说,它不知道参数的个数。它只会根据format中的打印格式的数目依次打印堆栈中参数format后面地址的内容 格式字符串漏洞发生的条件就是格式字符串要求的参数和实际提供的参数不匹配。

qq_67812668的博客 1251

关于String.format的用法总结

format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串 1、%s,字符串类型 eg: String.format(“我是一个%s”,“IT”); 我是一个IT 2、%c,字符类型 eg: String.format(“字母c的大写是:”,‘C’); 字母c的大写是:C 3、%b,布尔类型 eg: String.format(“布尔结果是:%b”,“io”.equal(“oi”)); 布尔结果是:false 4、%d,整数类型

feifan784的博客 1341

11.string 与 String,大 S 与小 S 之间没有什么不可言说的秘密.pdf

11.string 与 String,大 S 与小 S 之间没有什么不可言说的秘密.pdf 11.string 与 String,大 S 与小 S 之间没有什么不可言说的秘密.pdf

SoIC、CoWoS、InFO一次讲透:从2D/2.5D/3D看懂先进封装

先进封装是后摩尔时代提升芯片性能的关键路径,但面对SoIC、CoWoS、InFO这些名词,很多人容易混淆。理解它们,需从最基本的2D、2.5D、3D封装概念入手:2D是传统平房,2.5D通过硅中介层实现高密度互连,3D则让芯片直接堆叠。CoWoS作为2.5D中介层封装,已成为AI芯片与HBM高带宽存储集成的行业标准;SoIC通过铜-铜混合键合实现真正的3D堆叠,为逻辑与缓存提供极致带宽;InFO以扇出型封装兼顾成本与集成度,广泛用于移动SoC。在系统级封装(SiP)和CPO共封装光学等前沿趋势中,这些技术往

weixin_42388898的博客 310

glob.glob

glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:”*”, “?”, “[]”。””匹配0个或多个字符;”?”匹配单个字符;”[]”匹配指定范围内的字符,如:[0-9]匹配数字。 glob.glob 返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。下面是使用glob.glob的例子: import glob #获取指定目录下的所

qq_38156104的博客 408

AI大模型应用性能核心指标:TTFT 与 TPOT 详解

这两个指标专门衡量大模型流式响应性能,是评估用户体验的关键指标。· 是什么:从请求到第一个输出的等待时间· 为什么重要:决定用户的第一印象和响应感知· 优化方向:模型加载、预处理、冷启动优化· 行业标准:最好<500ms,可接受<1.5s· 是什么:每个输出token的平均生成时间· 为什么重要:决定流式输出的流畅度和总完成时间· 优化方向:推理引擎、内存带宽、批处理优化· 行业标准:最好<50ms/token,可接受<100ms/token在Dify/大模型应用中的意义。

lovehu6686的博客 3944

C语言字符串摘要

C语言字符串摘要

snow's blog 711

Windows沙盒神器Sandboxie Plus保姆级教程:从安装到实战测试可疑软件

本文详细介绍了Windows沙盒神器Sandboxie Plus的安装、配置与实战应用,帮助用户安全测试可疑软件。从系统要求、安装步骤到核心功能如多沙盒管理、文件共享和快照恢复,全面解析了这款轻量级沙盒工具的优势与使用技巧,特别适合需要隔离运行未知程序的用户。

weixin_29323049的博客 1153

揭秘Outlook/QQ邮箱伪造:如何利用Unicode编码绕过SPF检测

本文深入剖析了利用Unicode编码进行邮件显示名伪造的攻击手法,揭示了攻击者如何通过插入零宽字符等特殊编码绕过SPF检测,使邮件在Outlook、QQ邮箱等客户端中看似来自可信发件人。文章通过Python代码示例演示了伪造过程,并提供了从用户自查到管理员部署DMARC策略的多层次防御建议。

weixin_29063035的博客 332

大S,小S

今天看了《未来警察》,第一次看大S演的电影,她的表演很有趣。我会继续关注。樊少皇似乎就是要坚持走反派流氓路线了。 看了小沈阳作客《康熙来了》那期,发现欧弟的文化修养还不错,一些内地的特有文化,小沈阳因为受教育有限不会表达,他能帮着解释给主持人听。赞欧汉生同学一个。小S也挺好,港台主持人不装得那么过分,相对真实、随意。大小S的妈妈真会生孩子。 昨天才终于看了传说中的《2012》。男主角的女儿真可爱,

万码千钧 553

STM32驱动LED矩阵:IS31FL3731与查理复用技术实践

LED矩阵显示是嵌入式系统中常见的人机交互方式,其核心在于高效的驱动技术。查理复用(Charlieplexing)作为一种创新的矩阵扫描方式,通过引脚复用技术,用N个引脚驱动N²-N个LED,大幅提升了硬件资源利用率。IS31FL3731驱动芯片集成了这一技术,配合STM32F410RB微控制器的强大性能,可实现144个LED的精准控制。这种组合在艺术装置、信息展示等场景中展现出独特优势,既能呈现丰富的视觉效果,又能通过内置PWM调光实现256级亮度控制。通过I2C接口通信,开发者可以轻松实现字符显示、图像

weixin_29193359的博客 279

Python 中的 字符串格式化

Python 中的 字符串格式化1. 字符串格式化的种类2. % 格式化方式3. % 格式化方式例子4. format 格式化方式5. format 格式化方式例子 1. 字符串格式化的种类 Python 的字符串格式化有两种方式: % 格式符方式,format 方式 2. % 格式化方式 %[(name)][flags][width].[precision]typecode (na...

YKenan的博客 1万+

38、四旋翼无人机的机械建模、控制与仿真及小型无人机高度的最优鲁棒无模型控制

本文探讨了四旋翼无人机的机械建模、控制与仿真方法,采用基于PID控制器的分层控制策略实现稳定飞行与路径跟踪,并开发了结合CAD模型与MATLAB环境的飞行模拟器。同时,针对小型无人机高度控制问题,提出了一种基于粒子群优化(PSO)的最优鲁棒无模型控制(PSO-MFC)方法,有效解决了参数整定难题,实现了零稳态误差跟踪和强抗干扰能力。两种方法在仿真中均表现出良好性能,为无人机控制系统的设计与优化提供了理论与实践基础。

l6m7n8的博客 99

团体程序设计天梯赛竞赛题--登顶题【L3-039 攀岩】

登顶级 3 道题,每道题 30 分,满分为 90 分。

Pretty Boy Fox的博客 653

python字符串格式化

对于字符串格式化的常见三种方式

ex_6450的博客 3万+

华为od 面试八股文_C语言_01_含答案

华为od 面试八股文_C语言_01_含答案

MISAYAONE的博客 3224

Python字符串格式化,%和format函数

Python字符串格式化 格式化的操作有两种 一、使用%,常用的格式化 格式 描述 %s 字符串 %d 有符号整数(十进制) %f 浮点数 %O 转换为带符号的八进制形式的整数 %X 转换为带符号的十六进制形式的整数 %e 转换为科学计数法表示的浮点数(e小写) %c 格式化字符及其ASCII码 常用的示例 #字符串 print("学习是一件%s的事情"...

Selly166的博客 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

格式化字符串你都懂了吗

博文中讲解了Python的字符串格式化两种方法:% 和 format()

程序员小十一的博客 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

总结Python中的字符串格式化

> 正式的Python专栏第22篇,同学站住,别错过这个从0开始的文章! 前篇分析了字符串的简单使用,这篇我们看看字符串的格式化 # []() 什么是字符串格式化,为什么需要这样做? > 我们有时候刷抖音/B站看到封面很好看,但是进入直播发现,不过如此! > 想必主播通过某种方式把输出转换为读者想看的内容。 是不是大概懂了什么是格式化和格式化的必要性了!

持续学习持续开发,我是雷学委! 1163

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python格式化字符串

格式化字符串是什么? Python字符串的格式化处理主要是用来将变量(对象)的值填充到字符串中,在字符串中解析Python表达式,对字符串进行格式化显示(左对齐、右对齐、居中对齐,保留数字有效位数)。 使用占位符格式化字符串: 常见的占位符有: %d (整型) %f (浮点型) %s (字符串) 例子: name='小明' age=18 height=1.74 print('我的名字叫%s,今年%d岁了,身高%f米'%(name,age,height)) 注意:%f默认是输出小数点后.

HHYZBC的博客 2万+

LEETCODE 11【周赛】185次 重新格式化字符串

重新格式化字符串 显示英文描述 通过的用户数3311 尝试过的用户数3450 用户总通过次数3455 用户总提交次数6732 题目难度Easy 给你一个混合了数字和字母的字符串 s,其中的字母均为小写英文字母。 请你将该字符串重新格式化,使得任意两个相邻字符的类型都不同。也就是说,字母后面应该跟着数字,而数字后面应该跟着字母。 请你返回 重新格式化后 的字符串;如果无法按要求重新格式化,则返回一...

weixin_45381470的博客 172

Pwn之格式化字符串漏洞

格式化字符串漏洞

Rinko233的博客 2203

Python格式化字符串

在编写程序的过程中,经常需要进行格式化输出,每次用每次查。干脆就在这里整理一下,以便索引。 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言里的printf()函数的字符串格式化(C语言中也是使用%)。 下面整理了一下Python中字符串格式化符合: 格式化符号 说明 %c 转换成字符(AS...

2817
上一篇: 女韩大嘴惊现雅典开幕式
下一篇: 谈谈explicit关键字
ForNormandy
博客等级 码龄22年 7粉丝 18原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值