首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有没有人知道这个如何宏定义

2013-09-28 
有没有人知道这个怎么宏定义sql.Format(_T(COPY (select * from \SRV_CHKOUT_ODR_DOWN\) TO %s BINAR

有没有人知道这个怎么宏定义
sql.Format(_T("COPY (select * from "SRV_CHKOUT_ODR_DOWN") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName);

我想将SRV_CHKOUT_ODR_DOWN作为参数传入,即TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN)

这个TO_TABLE_STRING应该如何#define 这个有点难,有没有知道的人? 宏 string 宏定义 字符串 引号
[解决办法]

引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

用宏要干什么,说明白点
就是我想用语句:
TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN);
来表示:sql.Format(_T("COPY (select * from "SRV_CHKOUT_ODR_DOWN") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName);
这样的语句,有办法实现吗


// SRV_CHKOUT_ODR_DOWN 可以换成你一个变量表示
#define TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN)  \
    sql.Format(_T("COPY (select * from "SRV_CHKOUT_ODR_DOWN") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)

这样不行么?难道还有别的要求什么的?


对了你的那个strFileName 没看清楚, 得从前面参数传进来

#define TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN, strFileName)  \
    sql.Format(_T("COPY (select * from "SRV_CHKOUT_ODR_DOWN") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)
额 那个宏在引号里面啊 你怎么能这么定义 


你的意思你后面的语句里 已经有一个宏了?  宏貌似不可以嵌套的
你题目没有,我也没仔细看。。


#ifdef  
#define
#endif
[解决办法]
难者不会,会者不难:
#include <tchar.h>
#include <stdio.h>
//#define TO_TABLE_STRINGq(q) sql.Format(_T("COPY (select * from "")_T(#q)_T("") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)
  #define TO_TABLE_STRINGq(q)            _T("COPY (select * from "")_T(#q)_T("") TO '%s' BINARY")
  #define TO_TABLE_STRING(q) TO_TABLE_STRINGq(q)
int main() {
    _tprintf(_T("%s"),TO_TABLE_STRING(SRV_CHKOUT_ODR_DOWN));
    return 0;
}
//COPY (select * from "SRV_CHKOUT_ODR_DOWN") TO '%s' BINARY

[解决办法]
#define TO_TABLE_STRING(q) sql.Format(_T("COPY (select * from "")_T(#q)_T("") TO '%s' BINARY"), (LPTSTR)(LPCTSTR)strFileName)

即可
 
[解决办法]
#define TO_TABLE_STRING(s) 
       sql.Format(_T("COPY (select * from "%s") TO '%s' BINARY"), \
        _T(#s), (LPTSTR)(LPCTSTR)strFileName) 

试试这样行不

热点排行