Forum: PC-Programmierung Kommandozeilenprogramm mit C programm steuern


von kitestudent (Gast)


Lesenswert?

Hi,

ich versuche ein vorhandenes Konsolenprogramm in meinem C Programm zu 
benutzen.

Ich programmiere mit National LabWindows CVI.

Das aufrufen ist kein Problem, allerdings möchte ich die Konsolenausgabe 
des aufgerufenen Programms abfangen um diese dann auswerten zu können.

Hat das schonmal jemand gemacht?

Gruß kitestudent

von Karl H. (kbuchegg)


Lesenswert?

kitestudent schrieb:

> Hat das schonmal jemand gemacht?

Dein Stichwort bei Google lauten: Pipe

Command Shells können sowas. Sie pipen den stdout des Programms bei 
Bedarf von der Konsole weg in eine Datei.

Alternativ kannst du dir dieses Verhalten zunutze machen und das 
Konsolenprogramm mit system() in einer Shell laufen lassen, wobei du 
beim Kommando die Ausgabe in eine Datei redirecten lässt.

   system( "dir > test.out" );

führt in einer eigen Shell das "dir" Kommando aus, wobei die Ausgabe in 
die Datei test.out umgeleitet wird.

von Volker Z. (vza)


Lesenswert?

Erstelle eine Pipe oder Stream und dann:
http://support.microsoft.com/kb/58667/de

ciao Volker

von Peter (Gast)


Lesenswert?

Hallo kitestudent,

LabWindows habe ich keine Erfahrungen.
Vielleicht helfen ja folgende Infos auf den richtigen Weg:

WinAPI:
CreateProcess() mit umgeleiteten Standardhandles
http://support.microsoft.com/kb/190351

.NET:
Process StartInfo.RedirectStandardOutput = true;
und
Process StandardOutput.ReadLine()
Gruß
Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.