【发布时间】:2013-10-16 09:58:16
【问题描述】:
我有以下声明:
#define ERROR 0x01
..
UINT32 res=ERROR;
仅给定变量res,是否可以将字符串"ERROR" 复制到char 数组中?
澄清:
也许我不够清楚。 我正在调用一个返回值的 DLL。 这些值可以这样解释:
switch (res)
{
case ERROR:
strcpy(arr, "ERROR");break;
case ...
}
因为有很多选择,switch 会很大,所以我徘徊着也许有一条捷径......
【问题讨论】:
-
我不明白你想问什么...请举个例子,插图。
-
在编译之前,有一个预处理程序,它接受你的带有预处理语句的程序,把它变成一个没有预处理语句的纯程序形式。因此,
ERROR在程序中的任何位置都被0x01替换,甚至在编译开始之前。如果您的程序是使用 gcc 编译的 C 程序:尝试gcc -E file_name.c以获取预处理输出。
标签: c++ c char c-preprocessor