时间:2021-05-19
写代码时, 经常需要根据参数值得到一特定的字符串. 每次都调用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;
}
用起来还是比较爽的.
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C语言数据结构实现字符串分割的实例以下为“字符串分割”的简单示例:1.用c语言实现的版本#includeintpartition(ch
C语言中字符串实现逆序实例详解字符串逆序和正序的实现代码:#include#include#include#include#includetyped
C++字符串去重排序实例代码入一个字符串,去掉重复出现的字符,并把剩余的字符串排序输出。实现代码:#include#includeusingnamespaces
C语言去除相邻重复字符函数的实现方法字符去重函数功能:去重字符串相邻重复的字符,不相邻的不用去重参数:arg1--输入字符串arg2--字符串开始位置arg3-
用string方法定义字符串变量实现代码:复制代码代码如下:#include#includeusingnamespacestd;intmain(){string