“char *”类型的参数与“STARTUPINFO”类型的参数不兼容

时间:2015-01-29 15:16:37

标签: c++

我的名字是大卫,我需要帮助! 这是我的问题>>

sprintf_s(cmd_args, "\"%s\" -d", exe_path);
    STARTUPINFO si;
    PROCESS_INFORMATION pi = {0};
    memset(&pi, 0, sizeof(pi));
    memset(&si, 0, sizeof(si));
    si.cb = sizeof(si);
    CreateProcessA(exe_path, cmd_args, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi);

错误:((怎么了?))

&si << It's problem
Argument of type “char *” is incompatible with parameter of type “STARTUPINFO”

提前感谢您的回答!

1 个答案:

答案 0 :(得分:0)

如果您在这些Windows API上添加A或W后缀,则必须始终如一:STARTUPINFOCreateProcessSTARTUPINFOACreateProcessA和{{1}一起使用与STARTUPINFOW

区别在于您需要的字符串类型CreateProcessW(A)或""(W)。没有后缀的版本是根据编译设置扩展为A或W的宏。