之前在做两个字符串的拼接,一般都是用strcat函数, 即使是宏定义的字符串。
比如定义了宏A, B, 第一反应会用 A"other"这样的拼接方式, 却不会没反应过来 A B 也可以做拼接。
基础不扎实,好二好二。
宏字符串可以这样拼接:

#define A "xxx"
#define B "yyy"
void main()
{char *str = A B;printf("str:  %s\n", str);
}

编译运行, 就输出 xxxyyy 了。

原因是C中有这样语法规定: 引号引起来的字符串,中间以空格分开,编译器(预处理器)会自动帮你连成一个。
那就是如果有宏 A、B、C、D, 那 char* str=A B C D; 这样也是可以的。
这个原理也是可以应用在长字符串定义上, 比如:

#include <stdio.h>
void main()
{char *sql = "select name""from table1""where xxx=111";printf("sql:  %s\n", sql);
}

编译运行, 就输出 sql:  select name from table1 where xxx=111 了。

版权声明:本文为CSDN博主「moxiaomomo」的原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/moxiaomomo/article/details/53453949

1、在日常编程中,可能遇到通过#define将多个常量字符串连接起来,可使用下述方法:

#define CompanyID "my company"
#define ProductItem "0123456789"
#define HardVersion "PCB-101011"
#define ProductOCR "abcd-efgh-hijk-lmno-xyz"

1>使用空格隔开

#define Product_TracableID CompanyID ProductItem HardVersion ProductOCR

2>可使用“”隔开

#define Product_TracableID "CompanyID""ProductItem""HardVersion""ProductOCR"

两种方式的效果一样,把不同字段的字符串连接组成一个通用的字符串。

————————————————
版权声明:本文为CSDN博主「baowxz」的原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baowxz/article/details/99678718

C中多个宏字符串拼接相关推荐

  1. js中的concat函数-字符串拼接+数组拼接

    js中的concat函数-字符串拼接+数组拼接 一.concat() 方法用于字符串拼接字符串 let str1 = "abc"let str2 = "123" ...

  2. Java中,String类字符串拼接 用concat方法 和直接用“+”连接符拼接的区别

    在String类中,字符串拼接既可以使用concat方法,也可以直接用连接符进行连接,那么两者有什么相同点和不同点呢,下面小编带大家通过代码一起来看一下. concat方法的使用:public Str ...

  3. Vue中绑定值与字符串拼接以及结合三目表达式实现是否为空判定的使用

    场景 若依前后端分离版手把手教你本地搭建环境并运行项目: 若依前后端分离版手把手教你本地搭建环境并运行项目_BADAO_LIUMANG_QIZHI的博客-CSDN博客_若依前后端分离搭建 Vue中在调 ...

  4. C语言中字符串拼接之#,##的妙用

    字符串拼接相关的宏 字符串拼接的接可以分为下面两种情况: 在程序运行过程中,使用字符串连接函数strcat()等字符串处理函数进行字符串的拼接.这属于字符串的动态拼接. 在预处理阶段进行字符串的拼接. ...

  5. 为什么阿里巴巴不建议在for循环中使用+进行字符串拼接

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 字符串,是Java中最常用的一个数据类型了.关于字符串的知识,作者 ...

  6. 为什么阿里巴巴不建议在for循环中使用+进行字符串拼接?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 本文,也是对于Java中字符串相关知识的一个补充,主要来介绍一下字 ...

  7. Javascript 中的长字符串拼接

    字符串拼接是所有程序设计语言都需要的操作.当拼接结果较长时,如何保证效率就成为一个很重要的问题.C 语言的 strcat 函数直接操作内存,效率自然最高:C++ 的 string 类是可变的,本质上也 ...

  8. java字符串拼接_为什么阿里巴巴不建议在for循环中使用quot;+quot;进行字符串拼接...

    点击上方"Java专栏",选择"置顶或者星标" 第一时间阅读精彩文章! ☞ 程序员进阶必备资源免费送「21种技术方向!」 点击查看☜ 字符串,是 Java 中最 ...

  9. Java中字符串拼接的几种方式(源码分析)

    字符串拼接是我们在Java代码中比较经常要做的事情,就是把多个字符串拼接到一起. 我们都知道,String是Java中一个不可变的类,所以他一旦被实例化就无法被修改. 不可变类的实例一旦创建,其成员变 ...

最新文章

  1. 想搞自动识别系统的应用程序,希望能跟有志于此的朋友交流
  2. mfc上位机网络接收图片并显示_工控机上位机软件的开发历程
  3. 《对不队》团队项目用户验收评审
  4. deepfakes怎么用_[mcj]deepfakesApp使用说明(2)
  5. TIOBE 12 月编程语言排行榜:Python 夺回前三,Go 跌出前十
  6. 【技术】Java打印菱形
  7. IEEE论文格式要求(翻译)
  8. 周育如的音标口诀大全_音标记忆顺口溜(48个),快速记忆音标口诀!
  9. SaaSpace:2022年4款最好的免费3D打印软件
  10. 发际线与程序员的暧昧关系
  11. 动态表情与超链接制作
  12. 百度云破解不限速版(绿色免安装)
  13. 解决火狐,谷歌,ie兼容性问题
  14. 三星note20u计算机功能,三星Note20Ultra隐藏功能有哪些-藏功能操作方法
  15. 【报错】亲测有用,copytranslator只显示部分翻译结果
  16. Redis - Windows下载与安装
  17. MQ2烟雾传感器模块——stm32f103
  18. HTML一键打包APK工具(安卓应用APP)
  19. zip命令的坑 pyspark --py-files导入zip包不生效 / python导入zip包不生效
  20. Linux驱动设备号

热门文章

  1. 京东手机金机奖揭晓,国内最强5G生态联盟成立
  2. 在Qt中制作入门动画-1
  3. SASS使用CSS3动画并使动画暂停和停止在最后一帧的简单例子
  4. html使用vue----axios访问数据
  5. 设置不同jdbc的MaxActive数,吞吐量会有差异
  6. html5 亲子模板,亲子阅读手抄报精美模板
  7. Turtlebot 3 SLAM创建地图及 Navigation导航
  8. 亚马逊,速卖通,阿里国际,shopee等卖家如何补单?
  9. 棕色小瓶开始了java程序生涯,也开始了自己的java学习日志
  10. 题目12: 寻找最佳装载快递的货车