system, _wsystem (C++)
Nach oben zu stdlib.h - Index
Header-Datei
stdlib.h
Kategorie
Prozesssteuerungsroutinen
Prototyp
int system(const char *command);
int _wsystem(const wchar_t *command);
Beschreibung
Ruft einen Betriebssystembefehl auf.
system ruft den Befehlsinterpreter des Betriebssystems auf, um aus dem laufenden C-Programm heraus einen Systembefehl, eine Stapeldatei oder ein anderes Programm mit dem in dem String command angegebenen Namen auszuführen.
Damit das Programm gefunden und ausgeführt werden kann, muss es sich im aktuellen Verzeichnis oder in einem der in der Umgebungsvariablen PATH angegebenen Verzeichnisse befinden.
Die Umgebungsvariable COMSPEC wird verwendet, um den Befehlsinterpreter zu finden; daher muss er sich nicht im aktuellen Verzeichnis befinden.
Rückgabewert
Ist command ein NULL-Zeiger, gibt system einen Wert ungleich Null zurück, sofern ein Befehlsinterpreter verfügbar ist.
Ist command kein NULL-Zeiger, gibt system 0 zurück, wenn der Befehlsinterpreter gestartet werden konnte.
Trat ein Fehler auf, wird -1 zurückgegeben und errno auf einen der folgenden Werte gesetzt:
ENOENT |
Path or file name not found (Pfad oder Dateiname nicht gefunden) |
ENOEXEC |
Exec format error (Fehler beim Exec-Format) |
ENOMEM |
Not enough memory (Speicher nicht ausreichend) |
Beispiel
#include <stdlib.h> #include <stdio.h> int main(void) { printf("About to spawn a command-line program.\n"); system("dir"); return 0; }
Portabilität
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
system |
+ |
+ |
||
_wsystem |
Nur NT |