Domanda

Ho un file php che avvia il mio exe. exe cout e il testo è stampato in html che va bene. finché non scrivo " someline \ n " ;; Il \ n interrompe l'output e vedo solo l'ultima riga. Come faccio a stampare / echo testo / stringhe che contengono righe multiple?

La copia corrente è stata commentata e il mio testo viene stampato correttamente. Sembra brutto nella console e quando visualizzo la fonte con IE7 (anche se sfoglio principalmente con FF) la fonte è dolorosa da guardare. Ecco il mio attuale file php e 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;
}
È stato utile?

Soluzione

Da http://php.net/exec :

  

Valori di ritorno

     

L'ultima riga dal risultato del comando. Se devi eseguire un comando e fare in modo che tutti i dati del comando vengano restituiti direttamente senza alcuna interferenza, utilizza passthru () funzione.

La funzione exec () restituisce solo l'ultima riga di output, ma passthru () restituisce tutto output.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top