2014-01-24 51 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功能。 –