cmd-Befehle aus C++ heraus aufrufen?

shareware

Grünschnabel
Hallo Leute,

weiss jemand, ob man Windows/DOS-Befehle vom cmd-Fenster auch aus C++ heraus aufrufen kann. Beispiel wäre ftp, telnet, etc...

Gruß Alexander
 
Natürlich klar...

wenn es sich um komandos handelt die du nur aufrufst und fertig und eventuell ihre ausgabe auf dem bildschirm zeigen willst dann eigenet sich system()

Code:
system("pause");
tut genau das selbe wie ein PAUSE auf der komandozeile.

wenn du unidirektionale pipe unterstützung brauchst, weil die die ergebnisse eines solchen komandos verarbeiten willst so kanst du popen() benutzen.

beispiel:
Code:
FILE* fpPipe = popen("ipconfig /all", "r");
der zurückgegebene FILE* enthält die rückgaben des programmes, und kann mit den dateifunktionen gelesen werden, nicht vergessen ihn zu schließen am ende ;-)

solltest du Bidirektionale unterstützung wollen, wie sie z.B. bei anwendungen wie telnet oder ftp notwendig ist, so kannst du CreateProcess benutzen,

Wie das funktioniert hatt ich in nem anderen Thread schonmal erklärt, hier:
http://www.tutorials.de/tutorials139987.html

Sollte es aber um die funktionen von Telnet oder FTP gehen so würd ich dir dringen WinSock bzw. WinINET empfehlen ;-) diese netten APIs sind dann doch n stück einfacher als wenn du komandos durch n pipe fließen läst
 
Zurück