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