1

我有一个启动我的 exe 的 php 文件。exe 确实 cout 并且文本以 html 打印,这一切都很好。直到我写“someline\n”;\n 打破了输出,我只看到最后一行。我如何打印/回显其中包含多行的文本/字符串?

当前的粘贴已 \n 注释掉,我的文本打印正常。它在控制台中看起来很难看,当我使用 IE7 查看源代码(虽然我主要使用 FF 浏览)时,源代码看起来很痛苦。这是我当前的 php 和 cpp 文件

<html>
<head>
</head>
<body>
<?php
echo( exec('c:/path/to/exe/launchMe.exe hey lol hi') );
?>
</body>
</html>

cpp

#include <string>
#include <iostream>
#include <sstream>
using namespace std;

const string htmlLine(string s)
{
    s+= "<br />";
//  s += "\n";
    return s;
}

int main(int argc, char *argv[])
{
    stringstream s;
    s << argc;
    cout << htmlLine("woot") << htmlLine(s.str());
    for (int i=0; i<argc; ++i)
    {
        s.str("");
        s << i << " = " << argv[i];
        cout << htmlLine(s.str());
    }
    return 0;
}
4

1 回答 1

5

http://php.net/exec

返回值

命令结果的最后一行。如果您需要执行命令并将命令中的所有数据直接传回而不受任何干扰,请使用passthru()函数。

exec()函数只返回最后一行输出,而passthru ()则返回所有输出。

于 2008-11-05T03:03:49.697 回答