2017-02-07 4 views
0

Ich möchte den Nachrichtenfilter des Evolution-Mail-Clients verwenden, um E-Mails an mein C++ - Programm zu senden. Ich habe ein C++ - Programm geschrieben und einen Filter in Evolution eingerichtet, um eine Pipe zu meiner ausführbaren Datei zu erstellen. E-Mails werden gefiltert und meine ausführbare Datei wird aufgerufen, aber wenn ich versuche, von stdin zu lesen, passiert nichts. Ich denke meine Idee, stdin zu verwenden, ist nicht korrekt. Ich habe im Internet über Rohre, z.B. here, bin mir aber nicht sicher, ob ich genau das brauche. Weiß jemand, ob ich auf dem richtigen Weg bin oder mich in die richtige Richtung lenken kann? Z.B. brauche ich mein C++, das ständig für Evolution läuft, oder startet Evolution und pipe zu meiner ausführbaren Datei.Wie lese ich eine Evolution-Mail-Pipe in C++?

+1

Sie können wie dieses Rohr durch folgendes Kommando 'einen Text echo | Programm 'oder' cat some.file | Programm ". – oklas

+0

Ich habe das versucht, aber als ich meinen Code im Terminal laufen hatte und auf Eingaben wartete, kam nichts durch. Also ich denke, das bedeutet, dass die Pfeife nicht funktionierte. Ich werde sehen, ob ich das als Werkzeug nutzen kann, um meinen Code richtig zu machen. Danke für deinen hilfreichen Kommentar, es war auf jeden Fall die Frage wert und könnte auch anderen helfen. +1. – Antinous

+0

Ok. Ich werde eine Antwort erstellen. Ich überprüfe das für mich selbst, wenn es nötig ist. Ich werde mich freuen, wenn dies hilfreich ist. – oklas

Antwort

1

Sie können Rohr wie dies durch den Befehl überprüfen:

echo some text | program 

oder so:

cat some.file | program 
+0

Danke, am Ende war mein Code korrekt, außer dass ich ein paar Dinge an 'cout' ausgab, was natürlich nicht möglich war, weil mein Code nicht ausgegeben werden konnte. Daher hing der Code gerade an diesem Punkt und führte den 'cin'-Code nicht aus der Pipe aus. Ich habe jetzt Arbeitscode. Wie du sagst, kann das Echo eine große Hilfe beim Debuggen sein. – Antinous