簡體   English   中英

使用itoa和TCHAR

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM