我正在尝试从php网站向端口发送颜色代码。为此我在服务器上使用控制台应用程序。它看起来像这样:
int _tmain(int argc, _TCHAR* argv[])
{
if (argc >= 3)
{
_tprintf ( _T("Command: %s\n"), argv[3]);
if ( !Messenger::GetInstance()->SetServer( argv[1], _tstoi(argv[2]), false) )
{
_tprintf( _T("ERROR: SetServer( 192.168.10.50, 30000, false) failed") );
}
else
{
_TCHAR *p = wcstok(argv[3], _T(";"));
while (p)
{
Messenger::GetInstance()->SendCommand( p );
//_tprintf ( _T("Token: %s\n"), p);
p = wcstok(NULL, _T(";"));
}
}
}
return 0;
}
exe被称为:
$command = "Command=LIGHT-COLOR #00ff00";
$returnMsg = exec("PassAlong.exe \"" . $server . "\" \"" . $port . "\" \"" . $command . "\"");
不幸的是,控制台应用只返回这个: 命令:LIGHT-COLOR
似乎字符串在哈希符号#。
处被截断有谁知道为什么?
感谢您的帮助!非常感谢! 基督教
答案 0 :(得分:1)
尝试转义#,如下:
$command = "Command=LIGHT-COLOR \\#00ff00";
如果有意义的话,第一个'\'是逃避'#'逃脱'#'。我不是PHP程序员,因此未经过测试。