标题:怎样把宏定义拷贝到字符数组中?
只看楼主
hacuna
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-6-28
 问题点数:0 回复次数:5 
怎样把宏定义拷贝到字符数组中?
...
#define SAMPLE_STR    helloworld
...

char arr[20];
...

用什么方法将宏SAMPLE_STR填充到arr数组中去?即 arr的内容为 "helloworld".

前提:不许定义成带引号的形式,如:
#define SAMPLE_STR "helloworld"
搜索更多相关主题的帖子: 填充 
2012-06-28 23:27
hacuna
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-6-28
得分:0 
新人没分,只好过几天再结帖。
2012-06-28 23:28
hacuna
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-6-28
得分:0 
人工置顶
2012-06-29 09:08
westfall999
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:40
专家分:101
注 册:2012-7-22
得分:0 
应该不行吧,我只想到用粘贴符##,但编译器还是不让过:
#define SAMPLE_STR    helloworld
#define TEST \"##SAMPLE_STR##\"
2012-07-23 23:07
stophin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:227
专家分:618
注 册:2010-3-26
得分:0 
#define ToString(x) #x
#define SAMPLE_STR helloworld
//使用
printf(ToString(SAMPLE_STR));//输出结果是helloworld

原文出自【比特网】,转载请保留原文链接:http://soft.
2012-07-24 12:08
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
得分:0 
程序代码:
 #define STRING2(x) #x

 #define STRING(s) STRING2(s)

 #define STR ABC

 int main(void) {
    char s[4];
    strcpy(s,STRING(STR));
    printf("%s",s);
    return 0;
}

The quieter you become, the more you can hear
2012-07-24 12:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-372465-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.526755 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved