2014-01-24 25 views
0

有人能告诉我如何在C中显示一个可以打印变量的消息框吗?如何使用Windows MessageBox()C函数?

我的意思是这样的:

#include <stdio.h> 
#include <windows.h> 

main() 
{ 
    int x = 5; 
    MessageBox(0, "Variable x is equal to %d", "Variable", 0); 
    /* Where do I specify the variable so that 5 will display?*/ 

    getch(); 
} 

看起来像这样:提前

  Variable 

Variable x is equal to 5. 

谢谢!

+1

您的'main'函数缺少返回类型! – urzeit

+0

@urzeit我的编译器通常不需要它。此外,我只是做了这个测试可能的解决方案。我会永远记住,当编码为真实。 – Wix

+1

@Wix作为建议,也可以在您的测试程序中执行。它会创建肌肉记忆,并使您不容易在“真实”应用程序中忘记它。 –

回答

2

MessageBox本身不支持printf类似于格式。您将不得不使用snprintf

char buf[1024]; 
buf = snprintf(buf, 1024, "Variable x is equal to %d", x); 

MessageBox(0, buf, "Variable", 0); 
+0

请记住,snprintf仅在C++ 11及更高版本中可用。 – urzeit

+0

@urzeit:我们在这里说C。只要我记得,它就在标准库中。 –

+0

一些Google搜索知道它是ISO C99功能。 –