参考:https://blog.csdn.net/qq_37221466/article/details/81140901

 

 

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

 

 

 

 

 


————————————————
版权声明:本文为CSDN博主「奔跑的大茄子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37221466/article/details/81140901

相关文章:

  • 2021-11-21
  • 2021-10-09
  • 2022-12-23
  • 2021-08-21
  • 2022-01-08
  • 2021-06-28
  • 2021-10-09
  • 2022-01-20
猜你喜欢
  • 2022-12-23
  • 2021-05-07
  • 2022-01-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-29
相关资源
相似解决方案