CString.Format函数之奇葩的参数

今天碰到这样一行代码
<span style="white-space:pre">			</span>CString sql;
			sql.Format("Insert into contact_info_tab(contact_id,"
				"contact_name,email)"
				"VALUES("
				"%d,'%s','%s')",newContactID,strName,strEmail);
				TRACE(sql);

谁能告诉我,Format中,这些奇葩的引号是什么鬼~~~~

后来!经过查看资料http://blog.163.com/zhaowenjia1989@126/blog/static/1094985792010224153119/

原文如下:

error C2001: newline in constant(C++)

1、有在全角下输入的字符;在英文状态下重新输入。
2、编译器错误   C2001常数中有换行符   
     字符串常数不能继续到第二行,除非进行下列操作:     
    用反斜杠结束第一行。

    用 \n   结束第一行是不够的。例如:

    用一个双引号结束第一行上的字符串,并在下一行用另一个双引号开始该字符串。

    printf("Hello,                           //   error   

           world");

    printf("Hello,\n                     //     error   

           world"); 

    printf("Hello,\                       //     OK   
           world");    
 

    printf("Hello,"                         //   OK  

       "   world");   

  下一行开始处位于行继续符后的空格包含在字符串常数中。以上显示的示例都没有将换行符嵌入字符串常数中。可以按如下所示嵌入换行符:   
    printf("Hello,\n\   
            world");   
    printf("Hello,\   
          \nworld");   
    printf("Hello,\n"   
           "world");   
    printf("Hello,"   
         "\nworld");  


和验证!其实,就等于把它写在一行

	sql.Format("Insert into email_type_tab(type_id,type_name)VALUES(%d,'%s')",newTypeID,strType);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值