我正在使用命令行應用程序,它需要參數來生成所需的輸出。我正在嘗試使用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