用c语言根据可变参数合成字符串的实现代码
2018-10-12 13:58
459 查看
写代码时, 经常需要根据参数值得到一特定的字符串. 每次都调用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语言 编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。
- C语言可变参数函数的实现
- C语言可变长参数列表原理与实现
- C语言中可变参数函数实现原理
- C语言中字符串和数字的相互转换实现代码
- c语言实现函数可变参数
- C语言可变参数实现函数重载
- C语言可变参数函数分析与实现
- C语言中可变参数函数实现原理
- c语言可变参数原理以及printf函数的自实现
- C语言:使用链表实现的可变长度字符串处理函数
- C语言可变参数的函数实现
- C语言中可变参数的实现
- 实现可变参数函数字符串的格式简单解析样例
- C语言代码-可变参数(1)求平均值
- C语言中可变参数函数实现原理
- 详解_C语言可变参数_va_list和_vsnprintf及printf实现
- C语言可变长参数实现原理
- C语言可变参数函数实现原理