1.分配内存空间
//分配内存空间
char * buf = new char[1024];
2.使用sprintf格式化字符串
//格式化输出sprintf为过时函数
sprintf(buf,"sprintf格式化输出 :dts:%d,pts:%d,size:%d\n",23444,83445,20980);
3.输出:
printf("%s", buf);
4.使用snprintf格式化并输出:
//推荐使用snprintf
memset(buf, 0, sizeof(&buf));
snprintf(buf,//char*指针指向的内存地址
1024,//大小
"snprintf格式化输出dts:%d,pts:%d,size:%d\n",//格式串
111,222,333 //参数
);
printf("%s", buf);
5.snprintf不能使用const char * 做为第一个参数
char* gbk = new char[32];
memcpy(gbk, "GB2312-",7);
printf("%s\n",gbk);
snprintf(gbk, 32,"%s%d",gbk,123);
printf("%s\n",gbk);
完整Demo