gpt4 book ai didi

C宏为字符串添加前缀和后缀?

转载 作者:太空宇宙 更新时间:2023-11-04 06:25:07 49 4
gpt4 key购买 nike

我正在尝试清理用于着色字符串的代码。这是我必须为字符串添加红色 ANSI 颜色前缀,然后使用重置颜色作为后缀。

#define GET_RED_TEXT(x) “\x1B[31m” x “\x1B[00m”

但是,当我尝试使用它时...

src/util.c:18:15: error: expected expression
char *temp = GET_RED_TEXT("error: ");
^
includes/util.h:14:25: note: expanded from macro 'GET_RED_TEXT'
#define GET_RED_TEXT(x) “\x1B[31m” x “\x1B[00m”
^
src/util.c:22:14: error: expected ';' at end of declaration
va_end(arg);
^
;

我的宏有什么问题吗?

最佳答案

您的宏在 (, ) 中有智能引号,而不是真正的引号 (")。

此外,作为一种良好做法,将定义放在方括号中,然后是 x,例如:

#define GET_RED_TEXT(x) ("\x1B[31m" (x) "\x1B[00m")

关于C宏为字符串添加前缀和后缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28160951/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com