我有一个 ulong 值,如何将其转换为 LPTSTR?我需要获得 LPTSTR 值。(没有打印)
示例代码:
ULONG value = 1;
LPTSTR valueString = ???
谢谢!
你不能简单地转换它。C只是不那么友好。
您需要:
1. 获取足够大的 TCHAR 数组,将数字放在哪里。您可以在堆栈上使用一个简单的数组(但这取决于您想用它做什么)。
2. 将数字转换为缓冲区中的可打印表示。_sntprintf
可以做到这一点。
3. 使用这个缓冲区的地址。
Use one of the _itoa()
family of functions or StringCchPrintf()
. The links go to the 'safe' versions of the functions, but the winapi also provides 'unsafe' and leagacy variants.
您可以使用itoa
函数,它比 sprintf 简单得多,但可能在内核中不可用。
如果itoa
不可用,您可以重新编码:itoa in GCC