宏定义内怎么换行?

wenning111 2010-05-13 12:16:27
我定义了一个宏,出现C2060错误 “字符串太大,已截断尾部字”
如果减少宏定义的内容,倒是编译通过
如果是宏解析器的大小限制的话,自然没啥办法

但我想知道怎样让宏解析出来的代码能换行,因为解析出来的代码无论多大都只有一行,看得头痛,不然就要自己慢慢重新分行。
...全文
2870 12 打赏 收藏 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenning111 2010-05-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 huanmie_09 的回复:]
C/C++ code

#include<stdio.h>

#define N "123""\n""455"

int main()
{
printf("N=%s\n", N);
return 0;
}
[/Quote]
就是这个了
我刚才写\r\n居然没用。。现在怀疑之下发现是emeditor的问题。。它给我自动分行了。。。。
taodm 2010-05-13
  • 打赏
  • 举报
回复
楼主用的是tc?
huanmie_09 2010-05-13
  • 打赏
  • 举报
回复

#include<stdio.h>

#define N "123""\n""455"

int main()
{
printf("N=%s\n", N);
return 0;
}
wenning111 2010-05-13
  • 打赏
  • 举报
回复
因为我想查看宏解析后的代码时实在不想再对着那一行过的代码了
而\只是连接符,把两行的东西连起来
wenning111 2010-05-13
  • 打赏
  • 举报
回复
我说的不是宏定义里换行
而是怎样让宏解析出来的代码里有换行。。。。。。。
chp845 2010-05-13
  • 打赏
  • 举报
回复
用\呀...
jixingzhong 2010-05-13
  • 打赏
  • 举报
回复
C语言宏定义使用技巧 :
http://www.360doc.com/content/08/0324/11/59579_1140684.shtml

很多小技巧和知识点,可以参考一下
jixingzhong 2010-05-13
  • 打赏
  • 举报
回复
例如:

#define WARN_IF(EXP) \
do{ if (EXP) \
fprintf(stderr, "Warning: " #EXP "\n"); } \
while(0)
chaoliu1024 2010-05-13
  • 打赏
  • 举报
回复
用\符号
pengzhixi 2010-05-13
  • 打赏
  • 举报
回复
用\就可以了。
healer_kx 2010-05-13
  • 打赏
  • 举报
回复
用\。


liutengfeigo 2010-05-13
  • 打赏
  • 举报
回复
纠结的世界

65,214

社区成员

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

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