我有一個ulong值,我如何將它轉換爲LPTSTR?我需要獲得LPTSTR值。 (無的printf)如何將Ulong轉換爲C中的Lptstr
示例代碼:
ULONG value = 1;
LPTSTR valueString = ???
謝謝!
我有一個ulong值,我如何將它轉換爲LPTSTR?我需要獲得LPTSTR值。 (無的printf)如何將Ulong轉換爲C中的Lptstr
示例代碼:
ULONG value = 1;
LPTSTR valueString = ???
謝謝!
使用_itoa()
家庭的功能或StringCchPrintf()
之一。鏈接轉到了函數的'安全'版本,但是winapi也提供了'不安全'和leagacy變體。
你不能簡單地轉換它。 C只是不太友善。
您需要:
1.獲取一個足夠大的TCHAR數組,其中'您需要輸入數字。你可以在棧上使用一個簡單的數組(但是這取決於你想用它做什麼)。
2.將數字轉換爲緩衝區中的可打印表示。 _sntprintf
可以做到這一點。
3.使用此緩衝區的地址。
是的,除了如果你想正確地做,你需要使用'_sntprintf'來容納不同類型的'TCHAR'。 – 2012-02-16 11:49:26
感謝@MrLister,Windows類型可以讓你瘋狂。我試圖弄清楚,它看起來像'TCHAR' ='char',但我想並不總是。 – ugoren 2012-02-16 12:23:50
這是正確的,並非總是如此。你有'CHAR'這8位,'WCHAR'是16位,'TCHAR'可以是'_UNICODE'的值。 – 2012-02-16 13:21:07
您可以使用itoa
函數,它比sprintf簡單得多,但可能在內核中不可用。
如果itoa
不可用,則可以重新編寫它:itoa in GCC
這是一個基本的問題,預期的答案必須是不直觀的。使用MAKEINTRESOURCE。 – 2012-02-16 12:15:44
您只將問題標記爲C,但C既沒有'ULONG'也沒有'LPTSTR'。你應該用任何API來標記它。你知道,全世界都不是VAX。 – 2012-02-16 13:12:41
聞起來像winapi給我... – Christoph 2012-02-16 15:37:47