c++ - 我怎样才能输出#define值

标签 c++ c

我是这个论坛的新手所以请放轻松:)

我的代码中有以下内容

#define SYS_SBS     0x02 

每当我尝试使用它并尝试输出时,我都会得到 2 作为值,但是我想将 SYS_SBS 作为我程序的输出。有没有办法,我可以做到这一点。

我无法控制源代码。我只需要输出 SYS_SBS。

其他详细信息:我无法更改某些头文件。但是我可以更改 .cpp 文件中的主要功能。我想要 SYS_SBS 作为输出。我正在使用卫星,对于我的接收器检测到的所有卫星,我必须输出它们是什么类型的卫星。在代码中,它们都是用这个十六进制数定义的。我只想输出 SYS_SBS 而不是 2

最佳答案

#include <stdio.h>

#define SYS_SBS     0x02 
#define id(x) #x

int main(){
    printf("%s %d\n", id(SYS_SBS), SYS_SBS);
    return 0;
}

关于c++ - 我怎样才能输出#define值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17654530/

相关文章:

c++ - 如何自定义转换模板参数

c++ - 按值与按引用的 STL 容器对象

C程序,设计支票

在 C 中用 fftw.h 计算 fft 和 ifft

c - 为什么这个在 VS 2015 中编译而不是在 IDEOne 中编译?

c - sscanf 读取一个字符而不是整个字符串 (mmap)

c++ - 类中成员函数声明的问题

c++ - 手动调用构造函数?

c++ - 如何在不重写整个视频文件的情况下仅替换流中的一个数据帧? (FFmpeg)

c - C 队列实现中的段错误