2017-06-15 59 views
-1

多个变量,我正在寻找一种方法来打印(使用文件描述符)的整数倍变量独特的宏中,例如:打印与宏

int a = 2 ; 
char* b = "I am a test" ; 
MY_MACRO(a,b) ; 

将显示:2 : I am a test

但我不能”找到一种方法来做到这一点,任何人都可以帮助我吗?

+0

你是怎么尝试的?它是如何失败的?这与文件描述符有什么关系? – Quentin

+2

目前还不清楚宏与它有什么关系。宏只是扩展到代码,所以你想让你的宏扩展到什么代码?奖金问题:为什么写这个宏有用? –

+0

有点含糊。例如,第一个参数总是一个整数,第二个参数是char *'? –

回答

1

您可以定义一个宏将变量写入文件。我用stdout为例:

#include <stdio.h> 

#define MY_MACRO(aa,bb) fprintf(stdout,"%d: %s",aa,bb); 

int main() { 
    int a = 2; 
    char b[] = "I am a test!"; 
    // your code goes here 
    MY_MACRO(a,b); 
    return 0; 
} 
+1

这是不好的建议!为什么不使用函数? – Olaf

+1

@Olaf实际上它几乎是我想要做的,我正在寻找一种方法来使用'write(1,...'而不是'fprintf(stdout,...' – Default

+0

@Default:如果这就是你希望**,你也想要一个好的C课程,它肯定不是你应该做的** – Olaf