免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: osmanthusgfy
打印 上一主题 下一主题

[C] 基础问题,C语言怎样拼接两个宏定义的字符串? [复制链接]

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
11 [报告]
发表于 2011-09-09 23:05 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
12 [报告]
发表于 2011-09-10 09:54 |只看该作者
回复 10# pmerofc
对不起,是我的手误
因该是这样的:

我的意思是用一个宏定义的字符串(比如STRA)和
另外一个宏定义的字符串(比如STRB)拼接在一起.

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
13 [报告]
发表于 2011-09-10 10:00 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
14 [报告]
发表于 2011-09-10 12:23 |只看该作者
我已经说明是宏定义的字符串,不是字符串变量char abc[]="ABC";也不是字符串常量“ABC"

问题说得是进行宏定义的字符串拼接,拼接发生在另外一个定义的字符串中(STRB).

谢谢老兄的回复!

论坛徽章:
0
15 [报告]
发表于 2011-09-10 13:41 |只看该作者
既然你都写成那样了,这样写
      #define STRB(str) "bbb "#str",hello"
难得有什么错吗?!!
你的问题很难理解。
难不成你想把STRB宏自动拆分?

论坛徽章:
0
16 [报告]
发表于 2011-09-10 14:11 |只看该作者
你这个不叫拼接,叫穿插。不明白这样做有什么用,可以用在什么地方,请指教

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
17 [报告]
发表于 2011-09-10 15:10 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
18 [报告]
发表于 2011-09-10 17:53 |只看该作者
回复楼上几位,我举个实际的例子,大家就明白了.

比如从数据库中查询一个表的所有字段的值,
我将表名定义成宏:
#define TABLE_NAME "abc"
查询的sql定义成宏:
#define SELECT_ALL "select * from "
我想把表名的宏TABLE_NAME拼接到SELECT_ALL后面.

还可以定义其他表操作的sql宏,表名的宏TABLE_NAME也可以和其他sql宏拼接,
这样不是很方便吗?

论坛徽章:
0
19 [报告]
发表于 2011-09-10 19:46 |只看该作者
是我自己把问题想复杂了,
忘了宏的实质就是替换,所以宏爱放在哪就放在哪,
本例:
#define TABLE_NAME "abc"
#define SELECT_ALL "select * from " TABLE_NAME

自己学艺不精,把自己绕进去了,也把大家绕进去了.

感谢大家所有的热心帮助,中秋快乐!

论坛徽章:
0
20 [报告]
发表于 2011-09-11 08:44 |只看该作者
可以试试做一个通用的 sqltool,
类似 ORACLE 的 SQLPLUS,
Informix , Sybase 的 isql,
AS/400 的 STRSQL

最复杂的就是处理 select 语句
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP