zoukankan      html  css  js  c++  java
  • c++中sprintf和sprintf_s的区别

    参考: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

  • 相关阅读:
    Flexbox布局(转)
    css兼容性
    本地存储 localStorage/sessionStorage/cookie
    正则去掉字符串空格
    ajax请求成功或失败的参数
    怎样实现页面跳转和刷新
    new Date()时间对象
    列车时刻表查询 jqm/ajax/xml
    jquery mobile 学习总结
    响应式学习总结
  • 原文地址:https://www.cnblogs.com/MCSFX/p/13176121.html
Copyright © 2011-2022 走看看