Ich möchte die Streams eines untergeordneten Prozesses steuern. Grundsätzlich wollte ich programmgesteuert ein Programm ausführen, Pipelines für Konsolenausgabe, Konsoleneingabe und Fehlerstream, aber auch Pipelines für Dateiströme erstellen. Zum Beispiel istUmleiten eines Datei-Stream eines untergeordneten Prozesses
int main (int, char * []) {
printf ("Hello, World!\n"); // I want to capture this,
FILE * fp = fopen ("test.txt", "r"); // send data through this stream,
fclose (fp);
fprintf (stderr, "Bye, World!\b"); // and finally capture this message.
return 0;
}
Mein Ziel ein Programm wie Microsoft Worte auszuführen und Lesedateidaten an das Programm zu senden. Ich erstelle eine Verschlüsselungssoftware, die Daten in einem Laufwerk speichert und bei Bedarf Daten sicher entfernt. SanDisk Vault-Sache hat einen ähnlichen Job gemacht, aber es scheint, als hätte es irgendwo auf der Festplatte eine temporäre Datei erstellt, aber ich möchte keine temporären Dateien erstellen.
Ich konsultierte Google, und Google zeigte popen
Funktion und CreatePipe
Funktion, aber diese Funktionen erstellt Pipelines für Stdout, Stdin und Stderr Streams aber keine Dateiströme.
Ich möchte sowohl Linux und Windows, aber Windows OS ist auf meiner ersten Liste.
Könnten Sie einen von {linux, winapi} anstelle von beiden auswählen? – Brian
Was versuchst du wirklich zu erreichen? Diese Frage klingt nach Ihrer Idee einer Lösung, ohne das wirkliche Problem, das Sie zu lösen versuchen, zu spezifizieren. – IInspectable