Pythons Unterprozess, aus irgendeinem Grund stdout es nicht.

Problem

Angenommen, Sie erstellen eine Exe-Datei mit solchen Inhalten in C ++.

#include <iostream>

using namespace std;


int main(){
    int A,B;
    cout << "Bitte geben Sie A ein"
    cin >> A;
    cout << "Bitte geben Sie B ein"
    cin >> B;
    
    cout << A+B;
}

Es ist ein sehr einfaches Programm, das zwei eingegebene Zahlen hinzufügt.

Wenn dies durch einen Unterprozess von Python ausgeführt wird, funktioniert es wie folgt.

 

??????

Es wird nichts angezeigt ... Was ist das ...

Es wird also nichts angezeigt, aber versuchen Sie, 10 und 20 einzugeben. Dann,

$ 10
$ 20
$Bitte geben Sie A ein. Bitte geben Sie B 30 ein

Beeindruckend. Wenn etwas angezeigt wird, das ich ganz am Ende anzeigen wollte.

Lösung

Dies muss durch C ++ gelöst werden. ** Jede Zeile der Standardausgabe muss einen Zeilenumbruch haben. Andernfalls erkennt der Unterprozess die Ausgabe nicht. ** ** **

Damit

#include <iostream>

using namespace std;


int main(){
    int A,B;
    cout << "Bitte geben Sie A ein\n"
    cin >> A;
    cout << "Bitte geben Sie B ein\n"
    cin >> B;
    
    cout << A+B << "\n";
}

Das ist die Lösung.

Recommended Posts

Pythons Unterprozess, aus irgendeinem Grund stdout es nicht.
Ein Memo für die Installation von pip3 mit python2.7 aus irgendeinem Grund
Python [für mich]
[Python] Bei der Pipenv-Installation von WSL wird Python auf Windows-Seite aus irgendeinem Grund aufgerufen
Wenn OpenCV hconcat aus irgendeinem Grund einen Fehler verursacht