【发布时间】:2011-12-29 02:39:17
【问题描述】:
假设我有这个变量
LPTSTR cmdArgs = "D:\\path\my.exe -user blah PLATFORM=0 DEVICE=0 -k poclbm VECTORS BFI_INT WORKSIZE=128 AGGRESSION=7";
注意它在哪里说 DEVICE=0,在我的情况下它可能是 DEVICE=1 或 DEVICE=2 等。
这意味着该字符串必须是动态的。我将把应该在 DEVICE= 之后的数字传递给一个函数,但是我不知道如何将它添加到 cmdArgs 变量中。
我正在考虑使用 sprintf 并执行 DEVICE=%d,但我不知道是否可以将 char 变量(将包含格式化字符串)转换为 LPSTR
【问题讨论】:
-
是您的代码行中的 LPTSTR 还是您的问题中的 LPSTR?
-
如果你想继续使用上个世纪的这个特性,那就保持一致。使用 LPTSTR、TCHAR 缓冲区[]、_T("literal") 和 _stprintf()。所剩无几,上周最后运行的非 Unicode 版本的 Windows 上的软盘驱动器死了。