必威体育Betway必威体育官网
当前位置:首页 > IT技术

c++中sprintf和sprintf_s的区别

时间:2019-09-27 03:45:39来源:IT技术作者:seo实验室小编阅读:84次「手机版」
 

sprintf

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);

相关阅读

sprintf

sprintf字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。转换字符%% 印出百分比符号,不转换。

c++ ostringstream的用法(c语言的sprintf)

转载: https://blog.csdn.net/qq1987924/article/details/7671154ostringstream的用法【本文来自】http://www.builder.com.cn/20

分享到:

栏目导航

推荐阅读

热门阅读