如何用#define去定义一个空字符串

hubs 2004-10-26 01:54:03
比如mmm,我如何去定义
#define mmm

即mmm abc 在编译时等同于 abc
...全文
535 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
beyondtkl 2004-10-26
  • 打赏
  • 举报
回复
# 表示连接。。。


#define mmm(str) #str

你将str传入空字符串 不就OK?
xuzheng318 2004-10-26
  • 打赏
  • 举报
回复
#define mmm str
mmm 就是你定义的宏,后面是代替的str 就可以了
hubs 2004-10-26
  • 打赏
  • 举报
回复
我试了一下,不行,我是这样的
#define SOCK_API
class SOCK_API CSockAddr

#else

class CSockAddr

#endif
  • 打赏
  • 举报
回复
#define mmm
就可以了.
hubs 2004-10-26
  • 打赏
  • 举报
回复
而且我试了一下,用宏的时候要加括号,我想直接mmm abc 等于 abc
hubs 2004-10-26
  • 打赏
  • 举报
回复
我的意思是在mmm后面所遇到的字符串是不确定的,因为我是在两种系统下都能运行的程序(WIN32 和Linux)
lynnboy 2004-10-26
  • 打赏
  • 举报
回复
#define mmm(str) #str

...
cout << mmm(1234) << endl; // "1234"
cout << mmm(abcd) << endl; // "abcd"
yjh1982 2004-10-26
  • 打赏
  • 举报
回复
一样的.试一下就知道了
hubs 2004-10-26
  • 打赏
  • 举报
回复
abc只是我举的一个例子,如果是任意字符串呢,
yjh1982 2004-10-26
  • 打赏
  • 举报
回复
mmm(abc) 就会转为"abc"啊
hubs 2004-10-26
  • 打赏
  • 举报
回复
恕我脑笨,能不能说明一下#define mmm(str) #str
yjh1982 2004-10-26
  • 打赏
  • 举报
回复
#define mmm(str) #str

64,662

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧