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);
在进行读入数据的时候,如果不知道参数的个数,完全可以通过这样的方式“...”来进行接收。然后再通过va_list 设置。va_start(pArgList, szBuffer);_vsntprintf(szBuffer, 接收的最大长度,szFormat, pArgList);va_end(pArgList);这样就可获得自己想要的格式。
在设置宽字符的时候我们可以在字符串前面加上"L",比如:L"xiaoln".那么这个sizeof这个的话是14而长度却是6+空字符1。