2012-02-16 38 views
-1

我有一個ulong值,我如何將它轉換爲LPTSTR?我需要獲得LPTSTR值。 (無的printf)如何將Ulong轉換爲C中的Lptstr

示例代碼:

ULONG value = 1; 
LPTSTR valueString = ??? 

謝謝!

+0

這是一個基本的問題,預期的答案必須是不直觀的。使用MAKEINTRESOURCE。 – 2012-02-16 12:15:44

+0

您只將問題標記爲C,但C既沒有'ULONG'也沒有'LPTSTR'。你應該用任何API來標記它。你知道,全世界都不是VAX。 – 2012-02-16 13:12:41

+0

聞起來像winapi給我... – Christoph 2012-02-16 15:37:47

回答

1

你不能簡單地轉換它。 C只是不太友善。

您需要:
1.獲取一個足夠大的TCHAR數組,其中'您需要輸入數字。你可以在棧上使用一個簡單的數組(但是這取決於你想用它做什麼)。
2.將數字轉換爲緩衝區中的可打印表示。 _sntprintf可以做到這一點。
3.使用此緩衝區的地址。

+0

是的,除了如果你想正確地做,你需要使用'_sntprintf'來容納不同類型的'TCHAR'。 – 2012-02-16 11:49:26

+0

感謝@MrLister,Windows類型可以讓你瘋狂。我試圖弄清楚,它看起來像'TCHAR' ='char',但我想並不總是。 – ugoren 2012-02-16 12:23:50

+0

這是正確的,並非總是如此。你有'CHAR'這8位,'WCHAR'是16位,'TCHAR'可以是'_UNICODE'的值。 – 2012-02-16 13:21:07

1

您可以使用itoa函數,它比sprintf簡單得多,但可能在內核中不可用。

如果itoa不可用,則可以重新編寫它:itoa in GCC