[英]Using itoa with a TCHAR
我有一個支持UNICODE的Win32 C ++應用程序。 我有一個問題,我使用itoa()函數,但我得到一個編譯錯誤,因為我傳遞一個TCHAR *作為參數,而不是一個char *。
我能做些什么才能讓它發揮作用?
TCHAR buf[32];
itoa( taskState, buf, 10 );
對於TCHAR字符串,您應該使用_ttoi()。
沒有充分的理由讓我們使用TCHAR
除非您在DLL中使用MFC定位Windows 9x,並且您有點害怕重建MFC。 只需使用wchar_t
。
然后閱讀Microsoft的itoa
文檔。
在那里,您可以找到至少一個可以與wchar_t
字符串一起使用的變體。
使用itoa
系列通常不是一個好主意,但是你還處於尚未學會查閱文檔的階段。
所以,這就是你應該做的:檢查文檔(是的,我已經檢查過,它就在那里)。
附錄,截至2015年4月:自2011年中期以來,我們已經批准了C ++ 11和C ++ 14標准,編譯器現在通常支持<string>
標頭中的C ++ 11 std::towstring
函數; 它和itoa
一樣方便,更安全。
正如Adam Pierce所提到的,_itoa()的TCHAR版本是_itot(),你可以在這里找到它: http : //msdn.microsoft.com/en-us/library/yakksftt (v = vs。80) .aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.