如何在C中将Ulong转换为Lptstr

时间:2012-02-16 11:25:35

标签: c winapi kernel ulong

我有一个ulong值,如何将其转换为LPTSTR?我需要获得LPTSTR值。 (没有printf)

示例代码:

ULONG value = 1;
LPTSTR valueString = ???

谢谢!

3 个答案:

答案 0 :(得分:1)

你不能简单地转换它。 C就是不太友好。

您需要:
1.获得一个足够大的TCHAR数组,你可以在那里输入数字。你可以在堆栈上使用一个简单的数组(但这取决于你想用它做什么) 2.将数字转换为缓冲区中的可打印表示。 _sntprintf可以做到这一点 3.使用此缓冲区的地址。

答案 1 :(得分:1)

您可以使用itoa函数,它比sprintf简单得多,但可能在内核中不可用。

如果itoa不可用,您可以重新编码:itoa in GCC

答案 2 :(得分:1)

使用_itoa()系列函数之一或StringCchPrintf()。链接转到函数的“安全”版本,但winapi还提供“不安全”和leagacy变体。