Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C宏通过字符代码生成字符串_C_String_Macros_C Preprocessor - Fatal编程技术网

C宏通过字符代码生成字符串

C宏通过字符代码生成字符串,c,string,macros,c-preprocessor,C,String,Macros,C Preprocessor,我正在使用一个游戏引擎,它使用字符串中的转义码来执行诸如设置颜色之类的命令。例如,要将颜色设置为红色,请编写“红色文本:\x81\xFF\x00\x00\xfhello!”(0x81,红色、绿色、蓝色、alpha) 有没有可能创建一个像TEXT\u COLOR(r,g,b,a)这样的宏,使得TEXT\u COLOR(255,0,0255)可以扩展到“\x81\xFF\x00\x00\xFF”,以便在常量字符串中使用?在不同的宏中混合使用标记粘贴和字符串化,但是,是的,可以使用base-16数字:

我正在使用一个游戏引擎,它使用字符串中的转义码来执行诸如设置颜色之类的命令。例如,要将颜色设置为红色,请编写
“红色文本:\x81\xFF\x00\x00\xfhello!”
(0x81,红色、绿色、蓝色、alpha)


有没有可能创建一个像
TEXT\u COLOR(r,g,b,a)
这样的宏,使得
TEXT\u COLOR(255,0,0255)
可以扩展到
“\x81\xFF\x00\x00\xFF”
,以便在常量字符串中使用?

在不同的宏中混合使用标记粘贴和字符串化,但是,是的,可以使用base-16数字:

#包括
#定义文本颜色2(r,g,b,a)“\x81”#r#g#b#a
#定义文本颜色(r,g,b,a)文本颜色2(\x##r、\x##g、\x##b、\x#a)
内部主(空){
字符s[]=“红色文本:”文本颜色(FF,00,00,FF)“你好!”;
对于(常量字符*c=s;c
您当然可以使用
文本颜色(FF,00,00,FF)