我已經以下代碼:如何將參數傳遞給`_T()`?
CString port = m_HOST_PORT.GetString();
ShellExecute(NULL, NULL, _T("cmd.exe"),
_T("/k \"C:\\Program Files\\Java\\jre1.8.0_45\\bin\\java\" -cp C:\\Users\\foobar\\workspace\\IEC60870\\bin main.CApp %s",
(LPCTSTR)(port)), SW_SHOWNORMAL);
當運行該代碼段碼(一小部分從一個更大的代碼),則該命令提示窗口出現用以下文本:未知:%S 。顯然,_T("%s", (LPCTSTR)(port))
不起作用,或者我不知道如何以正確的方式使用它。
如何將參數(LPCTSTR)(port)
傳遞給_T()
?
P.S:
手工鍵入它,如:
ShellExecute(NULL, NULL, _T("cmd.exe"),
_T("/k \"C:\\Program Files\\Java\\jre1.8.0_45\\bin\\java\" -cp C:\\Users\\foobar\\workspace\\IEC60870\\bin main.CApp 4711"),
SW_SHOWNORMAL);
將在這裏工作。
'_T()'只是一個與字符字面序列一起工作的宏。我很確定你的問題是重複的。 –
你應該得到一個「太多的實際參數」警告宏使用。 – molbdnilo