VC6项目升级到VS2008,原有项目中for循环变量的修改

12 篇文章 0 订阅
11 篇文章 0 订阅
 由于VS2008更加符合C++标准,

如在VC6中,在FOR循环中的循环变量的定义的作用域延伸到循环体外,

VS2008则修正了这样的bug,只作用在循环体内,所以
    VC6:
    for(int i=0; i<100; i++)

    {

           fun2();

    }  

    for(i = 1;i<10;i++)//i已经定义

    {

           f1(); 

    }

    这样的语句是可以的。


    而在VS2008中,第二句的i必须重新定义

    for(int i=0; i<100; i++)

    {

           fun2();

    }  
    for(int i=1; i<10; i++)

    {

           f1(); 

    }

    或者把第一个for循环的循环变量定义在外部如下:

   int i;

    for(i=0; i<100; i++)

    {

           fun2();

    }  
    for(i=1; i<10; i++)

    {

           f1(); 

    }

   如果有很多这种for循环,而且循环变量的名称有很多,怎么批量替换呢,

   这要用到正则表达式

   搜索表达式:{\t*}{ *}for[ (][( ]int{ +}{[^ =]+}

{}标识一个带标记的表达式,从前到后分别是1,2,3,4。在后面替换时要用到分别用\1 \2 \3 \4表示

\t*表示0个或多个tab

 *表示0个或多个空格

[ (]表示空格和(的任何一个

{ +}表示一个或多个空格也可以改成{[ ]*}

{[^ =]+}表示空格和=号除外的一个或多个字符,就是循环变量比如:i,j,Num,nCount等

替换表达式:\1\2int \4;\n\1\2for (\4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值