【发布时间】:2012-11-22 05:13:26
【问题描述】:
如何组合预定义的 C 值来生成字符串。
#define APP_NUMBER 22
#define ICON_FILE "../icons/"##APP_NUMBER##".ico"
这样我就可以在我的 .rc 文件中执行以下操作了
1000 ICON ICON_FILE
而不是 1000 个图标“../icons/22.ico”
没用
#define MY_ICON_FILE 25
#define STR(x) #x
#define ICON_FILE_NUM(x) "../icons/" STR(x) ".ico"
1000 ICON ICON_FILE_NUM(MY_ICON_FILE)
编译错误
can't open icon file `../icons/': Permission denied
nothing was appended to "../icons/"
我刚刚得到的最接近的是这样做:
#define MY_ICON_FILE 25
#define STR(x) #x
#define ICON_FILE_NUM(x) "../icons/"STR(x)".ico" /// took out spaces
1000 ICON ICON_FILE_NUM(MY_ICON_FILE)
(去掉STR(x)周围的空格)
得到这个编译器错误
can't open icon file `../icons/"25".ico': Invalid argument
【问题讨论】:
-
这真的是关于资源文件的问题,而不是 C 语言吗?
-
我不认为这是一个关于 C 的问题。也许如果你重新标记这个问题,你会得到更好的答案。
-
.rc文件到底是什么?我猜这是某种资源文件,但是什么样的呢?你用的是什么环境?
标签: c c-preprocessor