Windows程序设计小结1

 1 int CDECL MessageBoxPrintf(TCHAR *szCaption, TCHAR *szFormat, ...)
 2 {
 3     TCHAR szBuffer[1024];
 4     va_list pArgList;
 5 
 6     va_start(pArgList, szBuffer);
 7     _vsntprintf(szBuffer, sizeof(szBuffer) / sizeof(TCHAR), 
 8         szFormat, pArgList);
 9     va_end(pArgList);
10     return MessageBox(NULL, szBuffer, szCaption, 0);
11 }
12 
13     int cxScreen, cyScreen;
14     cxScreen = GetSystemMetrics(SM_CXSCREEN) / 10000;
15     cyScreen = GetSystemMetrics(SM_CYSCREEN) / 100;
16 
17     MessageBoxPrintf(TEXT("scrnsize"), 
18         TEXT("The Screen is %d wide %d high."), 
19         cxScreen, cyScreen);
View Code

在进行读入数据的时候,如果不知道参数的个数,完全可以通过这样的方式“...”来进行接收。然后再通过va_list 设置。va_start(pArgList, szBuffer);_vsntprintf(szBuffer, 接收的最大长度,szFormat, pArgList);va_end(pArgList);这样就可获得自己想要的格式。

在设置宽字符的时候我们可以在字符串前面加上"L",比如:L"xiaoln".那么这个sizeof这个的话是14而长度却是6+空字符1。

原文地址:https://www.cnblogs.com/cxiaoln/p/3313625.html