用c语言根据可变参数合成字符串的实现代码

 更新时间:2013年05月27日 16:44:55   作者:  
本篇文章是对用c语言根据可变参数合成字符串的方法进行了详细的分析介绍,需要的朋友参考下

写代码时, 经常需要根据参数值得到一特定的字符串. 每次都调用vsprintf, malloc很烦. 以下是一个
实现了此功能的接口.

复制代码 代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>

char *xm_vsprintf_ex(int len, char *fmt, ... );

int main(int argc, char *argv[])
{
 char *ptr;
 ptr = xm_vsprintf_ex(100, "%s-%s-%s", "lias", "dzq", "lvo");
 printf("%s\n", ptr);
 free(ptr);

 return 0;
}

char *xm_vsprintf_ex(int len, char *fmt, ... )
{
 va_list ap;
 char *ptr;

 ptr = (char *)malloc(len * sizeof(char));
 if(ptr == NULL)
 {
  fprintf(stderr, "malloc failed\n");
  return NULL;
 }
 memset(ptr, 0, len);

 va_start(ap, fmt);
 vsprintf(ptr, fmt, ap);
 va_end(ap);

 ptr[len-1] = '\0';

 return ptr;
}


用起来还是比较爽的.

相关文章

  • 使用C/C++读取matlab中.mat格式数据的操作

    使用C/C++读取matlab中.mat格式数据的操作

    这篇文章给大家介绍了使用C/C++读取matlab中.mat格式数据的操作,文中通过图文结合的方式介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-12-12
  • 数据结构与算法 排序(冒泡,选择,插入)

    数据结构与算法 排序(冒泡,选择,插入)

    这篇文章主要介绍了数据结构与算法 排序(冒泡,选择,插入)的相关资料,这里对冒泡,选择和插入都做有实例,需要的朋友可以参考下
    2017-07-07
  • 解读C++编程中类模板的三种特化

    解读C++编程中类模板的三种特化

    这篇文章主要介绍了C++编程中类模板的三种特化,需要的朋友可以参考下
    2016-01-01
  • C++精要分析右值引用与完美转发的应用

    C++精要分析右值引用与完美转发的应用

    C++11标准为C++引入右值引用语法的同时,还解决了一个短板,即使用简单的方式即可在函数模板中实现参数的完美转发。那么,什么是完美转发?它为什么是C++98/03 标准存在的一个短板?C++11标准又是如何为C++弥补这一短板的?别急,本节将就这些问题给读者做一一讲解
    2022-05-05
  • C++递归删除一个目录实例

    C++递归删除一个目录实例

    这篇文章主要介绍了C++递归删除一个目录的实现方法,涉及到目录的操作及递归算法的应用,需要的朋友可以参考下
    2014-10-10
  • C++ 转换函数用法案例详解

    C++ 转换函数用法案例详解

    这篇文章主要介绍了C++ 转换函数用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • 关于C/C++中static关键字的作用总结

    关于C/C++中static关键字的作用总结

    以下是对C/C++中static关键字的作用进行了总结介绍,需要的朋友可以过来参考下
    2013-09-09
  • 使用C语言如何输出逆序数

    使用C语言如何输出逆序数

    逆序数的就是把一个数倒过来,例如:1234那么它的逆序数就为4321,我们该如何是实现呢?下面这篇文章主要给大家介绍了关于使用C语言如何输出逆序数的相关资料,需要的朋友可以参考下
    2022-01-01
  • C++中整形与浮点型如何在内存中的存储详解

    C++中整形与浮点型如何在内存中的存储详解

    大家好!这期和大家分享整形和浮点型是如何在数据是如何在内存中存储,下面文章具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • C++实现简单猜数字小游戏

    C++实现简单猜数字小游戏

    这篇文章主要为大家详细介绍了C++实现简单猜数字小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01

最新评论