一点技巧

今天在写点代码,遇到这样的代码:
#define IAX_EVENT_CONNECT 0 /* Connect a new call */
#define IAX_EVENT_ACCEPT  1 /* Accept a call */
#define IAX_EVENT_HANGUP  2 /* Hang up a call */
#define IAX_EVENT_REJECT  3 /* Rejected call */
#define IAX_EVENT_VOICE   4 /* Voice Data */
#define IAX_EVENT_DTMF    5 /* A DTMF Tone */
一个头文件里提供这样的,我需要写个switch来判断是这上面的消息类型中的哪一个
你来几个还挺容易打字的,这个消息类型有十几个,唉,把我搞烦了。
得想个办法来解决这个问题,看到第一行,如果能自已把这个 IAX_EVENT_CONNECT 给识别出来生成个
case  IAX_EVENT_CONNECT:
break;
就能够省不少事了。
写c语言,我一般用vi,vi里面有个替换功能,还能支持正则表达式,
我们这个写成正则表达式要怎么写呢:
#define [^ \t]* .*
就是 IAX_EVENT_CONNECT可能是空格或者\t
最后还要把 IAX_EVENT_CONNECT弄成一个group,\([^ \t].*\)
最后得到命令行如下:
%s/#define \(.[^ \t]*\).*/\t\tcase \1: \r\t\t\tbreak;/g
这样就可以少敲不少键盘了,正则表达式真是个好东西啊.
 
代码该生成的时候还是要生成啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值