带格式化参数的strcat宏定义

#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
// 带格式化参数的strcat宏定义
#define Strcat(x, fmt, ...) sprintf(x, "%s" #fmt, x, __VA_ARGS__)
int main(void)
{
char buf[200];
for(int k = 0; k < 4; k++)
{
memset(buf, 0, sizeof(buf));
for(int i = 0; i < 2; i++)
{
if((k & (i+1)) == (i+1))
{
//sprintf(buf, "%surl=trackID=%d;seq=1;rtptime=0", buf, i);
Strcat(buf, "url=trackID=%d;seq=1;rtptime=0", i);
if(i == 0 && (k & 0x2) == 2)
strcat(buf, ",");
}
}
cout << k << ": [" << buf << "]" << endl;
}
return 0;
}


运行结果:

[zcm@cpp #181]$make
g++ -Wall -Os -DLINUX -o a a.cpp
[zcm@cpp #182]$./a
0: []
1: ["url=trackID=0;seq=1;rtptime=0"]
2: ["url=trackID=1;seq=1;rtptime=0"]
3: ["url=trackID=0;seq=1;rtptime=0","url=trackID=1;seq=1;rtptime=0"]


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/403854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信公众号开发笔记1-获取Access Token

获取你的Access Token a&#xff09;可以采用网址的形式&#xff1a; 用appid和appsecert获得access token&#xff0c;接口为https://api.weixin.qq.com/cgi-bin/token?grant_typeclient_credential&appid你的APPID&secret你的APPSECRET 替换中间的你的APPID和APPSEC…

mii-tool与ethtool的用法详解

From: http://blog.chinaunix.net/uid-20639775-id-154546.html 1、mii-tool 配置网络设备协商方式的工具&#xff1b; 感谢原文作者&#xff01;原文地址&#xff1a;http://ygning.blog.com.cn/archives/2007/2153373.shtml 1.1 mii-tool 介绍&#xff1b; mii-tool - v…

linux学习wdlinux学堂

wdlinux学堂是什么?wdlinux学堂是一个学习Linux系统的学习计划,主要是linux系统的使用,服务器配置,架构,维护,优化,运维等等以wdOS系统为例做讲解,通过一些通俗的语言,结合自己的一些经验,来写一些教程或文档抛开书本的长篇大论,更多注重实践与操作每周五天,每天至少一课/一个…

ant更改主题色报错Inline JavaScript is not enabled. Is it set in your options? vue ant主题色更改 vue-cli3

问题&#xff1a;使用vue-cli3更改ant的主题色时候报错&#xff1a;Inline JavaScript is not enabled. Is it set in your options? 原因&#xff1a;我的问题是less-loader依赖包的版本为5.0.0&#xff0c;而官方要求必须是6.0.0&#xff1b; ERROR Failed to compile …

【Linux】文件操作系统调用

一. 文件描述符 在Linux下使用文件描述符来表示设备文件和普通文件。文件描述符是一个整型的数据&#xff0c;所有对文件的操作都通过文件描述符实现。文件描述符的范围是0~OPEN_MAX&#xff0c;系统中有3个已经分配的文件描述符&#xff0c;即标准输入、标准输出、和标准错误&…

sysfs接口函数的建立_DEVICE_ATTR

最近在弄Sensor驱动&#xff0c;看过一个某厂家的成品驱动&#xff0c;里面实现的全都是sysfs接口&#xff0c;hal层利用sysfs生成的接口&#xff0c;对Sensor进行操作。说道sysfs接口&#xff0c;就不得不提到函数宏 DEVICE_ATTR原型是#define DEVICE_ATTR(_name, _mode, _sho…

ant中table表格的多选框如何清空

项目需求&#xff1a;表格前加一列多选框&#xff0c;可以做多选和提交&#xff0c;还可以在提交后、重置或者翻页后对多选框清空 使用的组件是ant中下的可操作选择的table&#xff1b;这样我们就知道复选框选中的那些数据id&#xff0c;其实就是selectedRowKeys数组里的id&am…

SCCM 2012系列1 服务器准备上

各位您好&#xff0c;今天我将开始给大家分享微软最新的SCCM 2012系列文章&#xff0c;让大家逐步了解在企业内如何搭建SCCM 2012的同时&#xff0c;了解各个功能模块&#xff0c;对应自己的企业环境来看&#xff0c;那些功能是您现在所需要的。当然还可以看看SCCM 2012比之前…

linux内核源代码分析----内核基础设施之klist

概述klist是list的线程安全版本&#xff0c;他提供了整个链表的自旋锁&#xff0c;查找链表节点&#xff0c;对链表节点的插入和删除操作都要获得这个自旋锁。klist的节点数据结构是klist_node,klist_node引入引用计数&#xff0c;只有点引用计数减到0时才允许该node从链表中移…

近期H5项目开发小结

前言&#xff1a;2016差不多又过了半啦&#xff0c;最近参与了公司好几个h5项目&#xff08;严格来说&#xff0c;也只能算是推广页面活动&#xff09;。主要是新品牌的推广需要&#xff0c;当然也有给公司以前老客户做的案例。今天主要总结下为新品牌开发的2个h5推广&#xff…

vue-cli3中的vue.config.js配置

vue-cli3中的vue.config.js配置 我的跨域是配置通过chrome浏览器的跨域设置&#xff0c;前端修改跨域问题&#xff0c;以此解决跨域的&#xff0c; 故如果需要配置代理&#xff0c;就看proxy部分&#xff1b; const path require(path) const resolve (dir) > path.join…

获取python版本

import sys# global variablepyVersion 2 # set default python version to 2.x# init global variable(s)def init():global pyVersionpyVersion sys.version_info[0] # get major version of pythondef test():print(pyVersion)if __name__ __main__:init()test()运行情况…

会计的思考(37):“弱水三千,只取一瓢饮”--业务人员的财务意识

关键字: 会计体系 财务意识 投入产出 "任凭弱水三千&#xff0c;我只取一瓢饮"&#xff0c; 出自《红楼梦》,第九十一回里&#xff0c;贾宝玉曾经这样语带机锋地试图去化解林黛玉刚刚上来的醋劲。本文以此引出对业务人员的财务意识的思考。 成功企业家&#xff0c;如…

编译QtAV工程库

去https://github.com/wang-bin/QtAV下载源代码 去https://sourceforge.net/projects/qtav/files/depends/QtAV-depends-windows-x86%2Bx64.7z/download下载依赖库QtAV-depends-windows-x86x64.7z 将里面的include目录内容和lib内容分别拷贝到Qt的include和lib目录下 QtAV解压后…

make -j32 21 | tee show.log

2. 2>&1是什么意思&#xff1f;2>&1应该分成两个部分来看&#xff0c;一个是2>以及另一个是&1&#xff0c;其中2>就是将标准出错重定向到某个特定的地方&#xff1b;&1是指无论标准输出在哪里。所以2>&1的意思就是说无论标准出错在哪里(哪怕…

依赖包报错Invalid options object. Less Loader has been initialized using an options object that does not

1.问题&#xff1a;yarn安装依赖包&#xff0c;启动项目报错 error in ./node_modules/ant-design-vue/dist/antd.less Module build failed: ValidationError: Invalid options object. Less Loader has been initialized using an options object that does not match the A…

Windows下显示目录大小及文件个数

From: http://blog.csdn.net/wmnothing/article/details/6590376 用批处理实现Windows下子目录大小统计功能 吴旻 泰岩网络工作室 统计当前目录下各文件夹的大小&#xff0c;在Linux下面比较简单&#xff0c;一个 du -sh * 命令就基本解决问题了。虽然在资源管理器是单击右键…

Asp.net页面和Html页面之间的关系

Asp.net页面显然要转化为普通的html页面才能在浏览器中显示&#xff0c;但是对于两者的关系&#xff0c;或者说从服务器在接受请求处理请求这段时间内对asp.net页面的操作一直不是很明白&#xff0c;下边的一段话可以让人豁然开朗&#xff0c;虽然并未谈论技术&#xff0c;但简…

kmalloc/kfree,vmalloc/vfree函数用法和区别

1.kmalloc1>kmalloc内存分配和malloc相似&#xff0c;除非被阻塞否则他执行的速度非常快&#xff0c;而且不对获得空间清零.< tiger说明&#xff1a;在用kmalloc申请函数后&#xff0c;要对起清零用memset()函数对申请的内存进行清零。> 2>kamlloc函数原型&#xf…

SQL Server开发接口生成方法

为提高开发效率&#xff0c;生成固定格式的接口是必须的&#xff0c;以下以提供新增/修改/删除/读取接口为例&#xff1a; 以常见的表结构为例&#xff0c;特殊表结构可自己尝试去调整方法 主要通过系视图 sys.columns生成方法:为包含列的对象&#xff08;如视图或表&#xff0…