使用s时,printf是针对单字节字符的字符串,而wprintf是针对宽字符的

使用S时,正好相反,printf针对宽字符

CString中的format与printf类似,在unicode字符集的工程中,使用

CString str1, str2;

str1.format(_T("%S"), str2);时%S专指单字节字符的字符串,而str2为宽字符,类型不匹配,故出现不可预期的错误。

若str2为英文字符,如“abcd”,就只能输出a,因str2为宽字符,a有两个字节,值为0x0061,在内存中为61 00,故按单字节输出只能输出61,碰到00,即空字符后认为字符串结束,不会再输出。

若str2为中文字符,中文字符一般会占满两字节,而按单字节字符就会按一个字节一个字节的输出,故会输出乱码。

example:String Detail = SERVER_HOST + "detail?packageName=%s";

        String url = String.format(Api.Detail, packageName);

格式化输出%s和%S的区别的更多相关文章

  1. 语法注释格式;格式化输出;input在py2和py3中的区别;数据的基本类型;运算符;

    一.Python中的注释 Python的注释是代码的评论,是让代码让人能更加清晰明确.代码的注释可分为单行注释和多行注释,单行注释用“#”,多行注释用三对单引号或者三对双引号来表示. ps:# 单行注 ...

  2. python之while循环用法举例,break与continue的区别,格式化输出及运算符

    一.while循环的基本结构 while 条件: 代码块(循环体) else: 当上面的条件为假. 才会执行 执行顺序:判断条件是否为真. 如果真. 执行循环体. 然后再次判断条件....直到循环条件 ...

  3. python学习笔记(基础二:注释、用户输入、格式化输出)

    注释 单行:# 多行:上下各用3个连续单引号或双引号 3个引号除了多行注释,还可以打印多行 举例: msg = ''' name = "Alex Li" name2 = name ...

  4. (Python )格式化输出、文件操作、json

    本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...

  5. 变量、交互&注释、数字&字符串&布尔、格式化输出

    变量 变量定义规范: 声明变量: name = "Neo Zheng"    # name为变量名(标识符),"Neo Zheng"是变量值. 变量定义规则: ...

  6. day2(字符串、格式化输出、运算符、流程控制)

    一.字符串 在Python中,加了引号的字符都被认为是字符串! 单引号.双引号.多引号的区别? 单引号和 双引号没有任何区别,但是某种情况下需要单双配合 如 msg = " My name ...

  7. Java基础 -- 字符串(格式化输出、正则表达式)

    一 字符串 1.不可变String String对象是不可变的,查看JDK文档你就会发现,String类中每一个看起来会修改String值的方法,实际上都是创建一个全新的String对象,以包含修改后 ...

  8. Go语言从入门到放弃(三) 布尔/数字/格式化输出

    本章主要介绍Go语言的数据类型 布尔(bool) 布尔指对或者错,也就是说bool只有两个值, True 或 False 两个类型相同的值可以使用比较运算符来得出一个布尔值 当两个值是完全相同的情况下 ...

  9. Java面向对象 第2节 Scanner 类和格式化输出printf

    §Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 1.创建 Scanner 对象的基本语法:Scanner s = ...

随机推荐

  1. phpexcel导出乱码

    在输出到浏览器时,要在head前加ob_end_clean();参考此文, ob_end_clean(); header('Content-Type: application/vnd.ms-excel ...

  2. mysql海量数据处理步骤

    本文转自https://segmentfault.com/a/1190000006158186 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据 ...

  3. 4种用于构建嵌入式linux系统的工具_转

    转自:4种用于构建嵌入式linux系统的工具 Linux 被部署到比 Linus Torvalds 在他的宿舍里开发时所预期的更广泛的设备.令人震惊的支持了各种芯片,使得Linux 可以应用于大大小小 ...

  4. pip安装的python扩展模块自定义目录

    根据系统不同: Windows是python目录下Lib\site-packages\: Linux是/usr/local/lib/python/dist-packages/.

  5. [LintCode]删除链表中的元素

    问题分析: 声明当前指针和上一个指针即可. 问题求解: public class Solution { public ListNode removeElements(ListNode head, in ...

  6. dubbo 常见错误 通配符的匹配很全面, 但无法找到元素 'dubbo:application' java.lang.reflect.MalformedParameterizedTypeException 通配符的匹配很全面, 但无法找到元素 'dubbo:application' 的声明。 Unsupported major.minor version 52.0 (unable to l

    dubbo 常见错误 1. Caused by: java.lang.reflect.MalformedParameterizedTypeException 启动时报错,原因是dubbo 依赖 spr ...

  7. 关于Cocos2d-x中使用完Blink动作后精灵突然消失的问题的解决

    精灵使用Blink 执行完动作之后,消失不见了,原因是闪烁的过程中精灵刚好到空纹理(透明)的那部分,这时候用户通过某种操作中断闪烁动作,导致下个状态的时候,精灵依然停留在空纹理的状态.所以最好在精灵执 ...

  8. imx6 fec分析

    /***************************************************************************** * imx6 fec分析 * 本文主要分析 ...

  9. e647. 处理鼠标移动事件

    component.addMouseMotionListener(new MyMouseMotionListener()); public class MyMouseMotionListener ex ...

  10. More is better-多多益善

    思路:在图中所有的连通分量中找出包含顶点最多的个数.继续使用并查集解决! #include <iostream> using namespace std; ; int tree[MAX]; ...