sprintf参数包含本身时,结果并不符合预期

简介: sprintf参数包含本身时,结果并不符合预期

  代码如下:

    strcpy(params, "default");
    TS_LOG_TEXT(params);
    sprintf(params, " %s type=%s", params, PARAM_DEFAULT);
    TS_LOG_TEXT(params);

  输出是:

default
         type=default

 也就是说,吾期望在原有缓冲区上进行扩充,结果原有的数据消失了。

 

  解决思路有两个:

  • 使用strcat
  • 使用另外一个缓冲区组装数据,然后再加进来。在多数据时很麻烦。
目录
相关文章
|
23天前
|
数据处理
重复值的判断标准是否可以根据具体业务需求进行调整?
重复值的判断标准需要紧密结合具体的业务需求进行灵活调整,这样才能确保数据处理的准确性和有效性,为业务决策提供可靠的数据支持。
51 10
|
2月前
|
JavaScript 前端开发 Java
如何使用这个正则表达式来验证一个字符串是否符合特定的格式要求?
如何使用这个正则表达式来验证一个字符串是否符合特定的格式要求?
|
3月前
|
JavaScript 前端开发 Java
使用这个正则表达式来验证一个字符串是否符合特定的格式要求
使用这个正则表达式来验证一个字符串是否符合特定的格式要求
146 5
|
6月前
结构体\判断日期是否合法(代码分步解析)
结构体\判断日期是否合法(代码分步解析)
40 1
检查`string`是否以给定的目标字符串结尾
检查`string`是否以给定的目标字符串结尾
95 0
|
JavaScript 前端开发 算法
从规范的角度解析对象 — 原始值转换
从规范的角度解析对象 — 原始值转换
150 0
从规范的角度解析对象 — 原始值转换
|
测试技术
正则表达式及案例匹配失败用例编号
正则表达式及案例匹配失败用例编号
|
数据处理
程序返回数据的标准格式
程序返回数据的标准格式
99 0
|
SQL BI 关系型数据库
参数为空取全部数据的几种做法
当通过多个参数对数据进行过滤并且不选择某个参数时,希望依然能够查询出其他带条件的数据,也就是参数为空时忽略掉该条件,点击 <a href="http://c.raqsoft.com.cn/article/1543386793666?r=IBelieve" target="_blank" rel="n...
1014 0
|
C++
vs调试的时候,指定的参数已超出有效值的范围。参数名:sit ,先仔细看看错误和我的一样不一样
https://www.cnblogs.com/pei123/p/7694947.html 指定的参数已超出有效值的范围。参数名:sit ,先仔细看看错误和我的一样不一样 更新了1709就这样了,的确修复了就可以了 控制面板>程序> 网名:浩秦; 邮箱:root#landv.pw; 只要我能控制一個國家的貨幣發行,我不在乎誰制定法律。
1127 0