一千萬個為什麽

搜索

用C ++(Zune/ZDK)在WinCE上構造LPCWSTR


在WinCE 6上構建LPCWSTR的好方法是什麽?我想在C#中找到類似於String.Format()的東西。我的嘗試是:

OSVERSIONINFO   vi;

memset (&vi, 0, sizeof vi);
vi.dwOSVersionInfoSize = sizeof vi;
GetVersionEx (&vi);

char buffer[50];
int n = sprintf(buffer, "The OS version is: %d.%d", vi.dwMajorVersion, vi.dwMinorVersion);

ZDKSystem_ShowMessageBox(buffer, MESSAGEBOX_TYPE_OK);

That ZDKSystem_ShowMessageBox refers to the ZDK for hacked Zunes available at: http://zunedevwiki.org

這行代碼適用於消息框調用:

ZDKSystem_ShowMessageBox(L"Hello Zune", MESSAGEBOX_TYPE_OK);

我的基本目標是查看在Zune HD上運行的WinCE的確切版本,以查看哪些功能可用(即R2或更早版本?)。

另外我還沒有看到ZDK的任何標簽,所以如果有更合適的東西請編輯!

最佳答案

sprintf用於窄字符串。 LPCWSTRconst WCHAR * ,因此您需要寬字符和正確的功能。

例如。

WCHAR buf[100];
StringCchPrintfW(buf, _countof(buf), L"Hello, world!");

或使用通用文本函數,並使用UNICODE進行編譯,

TCHAR buf[100];
StringCchPrintf(buf, _countof(buf), _T("Hello, world!"));

(您可以使用其他功能,例如 _stprintf_sswprintf_s 等)

轉載註明原文: 用C ++(Zune/ZDK)在WinCE上構造LPCWSTR

猜你喜歡