gpt4 book ai didi

c - 我该如何修改这个 LPSTR?

转载 作者:太空宇宙 更新时间:2023-11-04 07:36:46 26 4
gpt4 key购买 nike

让我们暂时假设我有这个变量

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

最佳答案

LPSTRchar * 的类型定义。您可以使用 sprintf 将设备号插入到字符串中。

char cmdArgs[1000];
int deviceNum = 1;
sprintf( cmdArgs, "D:\\path\\my.exe -user blah PLATFORM=0 DEVICE=%d -k poclbm VECTORS BFI_INT WORKSIZE=128 AGGRESSION=7", deviceNum );

编辑:
由于代码片段显示了 LPTSTR,您可能希望使用 TCHAR 例程而不是 sprintf。当 _UNICODE 预处理器符号被定义时,LPTSTR 类型定义为 whcar_t *,如果该符号是 char *未定义或 _MBCS 已定义。

TCHAR cmdArgs[1000];
int deviceNum = 1;
_stprintf( cmdArgs, _T(""D:\\path\\my.exe -user blah PLATFORM=0 DEVICE=%d -k poclbm VECTORS BFI_INT WORKSIZE=128 AGGRESSION=7"), deviceNum );

关于c - 我该如何修改这个 LPSTR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8129794/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com