我正在使用命令行应用程序,它需要参数来生成所需的输出。我正在尝试使用createprocess()
中的CPP
来调用该应用并传递参数。我在转换类型时遇到困难。 。它说const char*
与LPTSTR
不兼容。使用createprocess()的类型转换问题()
如果我说
char a[]="param 1 param2";
createprocess("C:\\exmpl.exe",a,......)
我用L"C:\\exmpl.exe"
,但它不工作。 。
我正在使用命令行应用程序,它需要参数来生成所需的输出。我正在尝试使用createprocess()
中的CPP
来调用该应用并传递参数。我在转换类型时遇到困难。 。它说const char*
与LPTSTR
不兼容。使用createprocess()的类型转换问题()
如果我说
char a[]="param 1 param2";
createprocess("C:\\exmpl.exe",a,......)
我用L"C:\\exmpl.exe"
,但它不工作。 。
对不起,新的答案:
关注的第二个参数,它必须是一个TCHAR *(字符*在UNICODE ANSI或为wchar_t *)。 不要使用为const char *,或者说,不要简单地通过“参数1参数2”的第二个参数,像这样做:
TCHAR param[] = TEXT("param1 param2");
CreateProcess(TEXT("my exe"), param, ...);
CreateProcess
需要一个可变(非const
)该字符串参数。你显然正在传递一个const
字符串。
下次请粘贴您使用的实际代码。
你也可以将你的VC项目设置为多字节字符集。 只需转到项目属性,并在常规选项卡中可以看到字符集。
这不是你的实际代码。因此对那些试图帮助你的人没有帮助。 – tenfour