C ++将#define复制到char数组

萨拉

我有以下声明:

#define ERROR   0x01
..
UINT32 res=ERROR;

仅给出变量res,是否可以将字符串复制"ERROR"到char数组中?

澄清

也许我还不够清楚。我正在调用返回值的DLL。这些值可以这样解释:

switch (res)
{
    case ERROR:
     strcpy(arr, "ERROR");break;
    case ... 
}

由于有很多选择,而且选择switch会很大,所以我徘徊了也许有捷径...

LihO
#define ERROR   0x01

定义常量整数文字,0x01并且预处理程序将以下行变为:

UINT32 res = ERROR;

进入:

UINT32 res = 0x01;

在编译开始之前。没有char数组


如果要复制常量的关联名称,以避免执行以下操作:

case ERROR:
 strcpy(arr, "ERROR"); break;
case X:
 strcpy(arr, "X"); break;
case Y:
 strcpy(arr, "Y"); break;
...

那么您可以使用给定的代码创建一个具有静态结构来检索名称的帮助程序,但是出于类型安全的考虑,我将#define尽可能避免s。有点像(这只是一个概念):

const char* getRetCodeName(const UINT32 code) {
    static std::map<int, const char*> codes;
    static int firstCall = 1;
    if (firstCall) {
        codes[ERROR] = "ERROR";
        codes[X] = "X";
        codes[Y] = "Y";
        firstCall = 0;
    }
    return codes[code];
}

并在呼叫者的代码中:

UINT32 res = someCall();
const char* retCodeName = getRetCodeName(res);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将char数组复制到C中的char指针?

来自分类Dev

将字符串从argv复制到C中的char数组

来自分类Dev

将包含Unicode文件的副本复制到C中的char数组中

来自分类Dev

C:如何将char数组复制到struct ifreq?

来自分类Dev

C ++将char复制到char数组(调试断言失败)时,字符串不是null终止的

来自分类Dev

将 char[ ][ ] 的地址复制到 C 字符串

来自分类Dev

C将静态数组复制到结构中

来自分类Dev

将数组的元素复制到新的-C

来自分类Dev

将结构复制到C中的数组

来自分类Dev

C ++将数组复制到指针参数

来自分类Dev

将结构复制到C ++中的数组中

来自分类Dev

将引用复制到C中的数组

来自分类Dev

如何在C语言中将char *复制到char *数组

来自分类Dev

如何在C语言中将char *复制到char *数组

来自分类Dev

如何在C ++中将.txt文件复制到char数组

来自分类Dev

如何在C ++中将数组char复制到字符串或int *(void *)中?

来自分类Dev

gzip并将粘贴内容复制到C程序中的String / char数组中

来自分类Dev

如何在C ++中将.txt文件复制到char数组

来自分类Dev

gzip并将粘贴内容复制到C程序中的String / char数组中

来自分类Dev

C:将一个char *指针复制到另一个

来自分类Dev

将向量<char>复制到2d向量<string> C ++

来自分类Dev

如何通过golang中的CGO将Go字符串复制到C char *?

来自分类Dev

将数据从txt文件复制到c ++中的char指针

来自分类Dev

在C#中尽可能快地将数组复制到结构数组

来自分类Dev

可以使用strcpy()将malloc数组复制到C语言中的堆栈数组吗?

来自分类Dev

目标C将数组复制到另一个索引为1的数组

来自分类Dev

将字符串指针数组复制到C中的新数组

来自分类Dev

使用C将文件名复制到数组中

来自分类Dev

如何将单词从分号(;)插入的文件复制到C ++中的数组中?

Related 相关文章

  1. 1

    如何将char数组复制到C中的char指针?

  2. 2

    将字符串从argv复制到C中的char数组

  3. 3

    将包含Unicode文件的副本复制到C中的char数组中

  4. 4

    C:如何将char数组复制到struct ifreq?

  5. 5

    C ++将char复制到char数组(调试断言失败)时,字符串不是null终止的

  6. 6

    将 char[ ][ ] 的地址复制到 C 字符串

  7. 7

    C将静态数组复制到结构中

  8. 8

    将数组的元素复制到新的-C

  9. 9

    将结构复制到C中的数组

  10. 10

    C ++将数组复制到指针参数

  11. 11

    将结构复制到C ++中的数组中

  12. 12

    将引用复制到C中的数组

  13. 13

    如何在C语言中将char *复制到char *数组

  14. 14

    如何在C语言中将char *复制到char *数组

  15. 15

    如何在C ++中将.txt文件复制到char数组

  16. 16

    如何在C ++中将数组char复制到字符串或int *(void *)中?

  17. 17

    gzip并将粘贴内容复制到C程序中的String / char数组中

  18. 18

    如何在C ++中将.txt文件复制到char数组

  19. 19

    gzip并将粘贴内容复制到C程序中的String / char数组中

  20. 20

    C:将一个char *指针复制到另一个

  21. 21

    将向量<char>复制到2d向量<string> C ++

  22. 22

    如何通过golang中的CGO将Go字符串复制到C char *?

  23. 23

    将数据从txt文件复制到c ++中的char指针

  24. 24

    在C#中尽可能快地将数组复制到结构数组

  25. 25

    可以使用strcpy()将malloc数组复制到C语言中的堆栈数组吗?

  26. 26

    目标C将数组复制到另一个索引为1的数组

  27. 27

    将字符串指针数组复制到C中的新数组

  28. 28

    使用C将文件名复制到数组中

  29. 29

    如何将单词从分号(;)插入的文件复制到C ++中的数组中?

热门标签

归档