| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 351 人关注过本帖
标题:宏定义的问题
只看楼主 加入收藏
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
收藏
 问题点数:0 回复次数:4 
宏定义的问题
问大家一个问题,我需要用许多字符串(用做文件名),这些字符串前面大部分都是一样的。
char* FileName1 = "\\USER\\COM\\CHINA\\JIANGSU";
char* FileName2 = "\\USER\\COM\\CHINA\\ZHEJIANG"
char* FileName3 = "\\USER\\COM\\CHINA\\JIANGXI"
char* FileName4 = "\\USER\\COM\\CHINA\\SHANGHAI"
char* FileName5 = "\\USER\\COM\\CHINA\\BEIJING"
char* FileName6 = "\\USER\\COM\\CHINA\\FUJIAN"
例如上面,\\USER\\COM\\CHINA\\这部分是一样的,实际会更长。一样的部分我经常需要改变,当然该为后还是一样的。
为了方便改动,我想把这些字符串写成宏定义,大致是 char* FileName5 = FILE_NAME(一样的部分,不一样的部分)。
遇到了一些奇怪的问题,我想问问大家会怎么写呢?
搜索更多相关主题的帖子: 字符串 
2011-07-11 15:03
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
#define FILE_NAME_SAME_PART "\\USER\\COM\\CHINA\\"

char* FileName1 = FILE_NAME_SAME_PART"JIANGSU";
char* FileName2 = FILE_NAME_SAME_PART"ZHEJIANG"
2011-07-11 15:09
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
你可以把这些一样的部分保存到一个数组 然后每次生成文件名用strcat就可以了

                                         
===========深入<----------------->浅出============
2011-07-11 15:09
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
收藏
得分:0 
以下是引用rjsp在2011-7-11 15:09:32的发言:

#define FILE_NAME_SAME_PART "\\USER\\COM\\CHINA\\"

char* FileName1 = FILE_NAME_SAME_PART"JIANGSU";
char* FileName2 = FILE_NAME_SAME_PART"ZHEJIANG"
多谢,我脑子短路了
2011-07-11 15:13
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
收藏
得分:0 
不对,还是有问题,这种方式普通编程用用没有问题,一旦用到宽字符,定义了_UNICODE就不行了,而现在的应用大多是宽字符的程序

#define FILE_NAME_SAME_PART "\\USER\\COM\\CHINA\\"
const LPCTSTR FILE_NAME1 = _T(FILE_NAME_SAME_PART"ZHEJIANG");

编译不通过
2011-07-11 15:33
快速回复:宏定义的问题
数据加载中...
 
   



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

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