sprintf_s是sprintf的安全版本,指定缓冲区长度来避免sprintf()存在的溢出风险,主要差在sprintf_s第二个参数,可以控制缓冲区大小

sprintf/sprintf_s指的是字符串格式化命令,主要功能是把格式化的数据写入某个字符串中

sprintf 是个变参函数。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性

头文件

stdio.h

原型

int sprintf( char *buffer, const char *format, [ argument] … );

参数列表

buffer:char型指针,指向将要写入的字符串的缓冲区。

format:格式化字符串。

[argument]...:可选参数,可以是任何类型的数据。

头文件

stdio.h

原型

int sprintf_s(char *buffer,size_t sizeOfBuffer,const char *format,
[argument] ...);

参数列表

buffer:char型指针,指向将要写入的字符串的缓冲区。

sizeOfBuffer:缓冲区大小。

format:格式化字符串。

[argument]...:可选参数,可以是任何类型的数据。

例子:int x=42;

char str[256];

sprintf_s(str, 256, "%d", x);

c++中sprintf和sprintf_s的区别相关推荐

  1. sprintf()和itoa()的区别

    引题 博主对sprintf()和itoa()两者区别的关注要从PAT Basic Level 1002题说起.PAT是Programming Ability Test(PAT,编程能力考试),该网站提 ...

  2. python中break和continue的区别

    python中break和continue的区别 break 结束for 或者while 循环  后面还没循环到的 不再循环 continue 当满足某种条件时结束当前值的循环 后面没有循环的继续循环 ...

  3. java中separator_java - File.separator和路径中的斜杠之间的区别

    java - File.separator和路径中的斜杠之间的区别 在Java Path-String中使用/和普通的File.separator有什么区别? 与双反斜杠相比,/平台独立似乎不是原因, ...

  4. PHP中self和static的区别,php中self与static的区别

    原文链接,猛击这里. php中self与static的区别 通过一些示例,我们可以很容易看出self和static的区别.假定我们有class Car – 它有两个方法,model和getModel. ...

  5. php 抽象类 接口 区别,PHP中抽象类、接口的区别与选择分析

    本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过 ...

  6. php $this self,php中self与$this的区别

    学习php中self与$this的区别. 先来看下parent与self的例子: /* * parent与self的区别 * by www.jbxue.com */ class A{ function ...

  7. mysql中char与varchar的区别分析(补充一句,int和integer没区别)

    转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...

  8. python中bytearray和java中byte[]的区别_Python经典面试题:说说Python中xrange和range的区别?...

    昨晚一小伙后台问xrange和range有啥区别,讲了下他倒领悟的挺快,其实这也是你各面试Python岗位,经常会遇到的Python面试题,长个心眼哈,说不定明年3月你找工作就用上了. 废话不多说,开 ...

  9. python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法

    python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录

最新文章

  1. FluorineFx + Flex视频聊天室案例开发----客户端
  2. spring(1)Spring之旅
  3. 应用服务器web服务器_最受欢迎的应用服务器
  4. 查看WEB服务器的连接数
  5. avlib java_fatal error: libavutil/avconfig.h: No such file...
  6. mysql批量用trim限定_mybatis中批量更新sql语句,trim、foreach标签,varchar定义理解
  7. C#.NET 大型通用信息化系统集成快速开发平台 4.6 版本 - SSO单点登录接口
  8. SqlServer分区表概述(转载)
  9. linux 脚本map,shell中map的用法
  10. python正则表达式(1)--特殊字符
  11. Rust : CSV库的用法
  12. lomboz eclipse怎么连接oracle10,Lomboz插件的安装与配置[Eclipse 3.0,3.1.x与3.2.x版本]第一部分...
  13. SPSS实战:多因素方差分析(以随机区组设计为例)
  14. 男生如何找准自己的穿衣风格,提升衣着品味(转载:搜狐男人)
  15. 人艰不拆~找实习之路(二)。
  16. e admin admin.php,EAdmin极简社区源码
  17. c语言计算级数,C语言之数值计算--级数算法
  18. 色环电阻阻值如何识别
  19. Vue项目——文章发布和修改
  20. es6+最佳入门实践(8)

热门文章

  1. ##英语文本的单词统计 排序并输出前5%
  2. 台式计算机DNS地址配置无法保存,电脑设置不了DNS地址怎么办
  3. Cypress 元素定位
  4. MATLAB函数解析:colormap——查看并设置当前颜色图
  5. 谷歌为iPhone推新版本语音电话软件 北京网游分级制度今年启动(每日关注2010.1.27)
  6. 数据分析实际案例之:pandas在泰坦尼特号乘客数据中的使用
  7. 资源管理框架(mesos/YARN/coraca/Torca/Omega)选型分析
  8. 求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积(基础作业
  9. java pdf转 图片
  10. C语言练习——逆序输出数字