Programmaufruf
-
perl-liebhaber schrieb:
Hallo,
ich will durch mein Programm ein anderes Programm starten! Mit Perl sähe das ungefähr so aus: system("Programmname");Gibt es dafür in C++ eine vorgesehene Funktion oder muss ich mir da erst selbst was zusammen reimen?
Hi,
system(const char *); gibt es auch unter C/C++, es allerdings nicht Standard. Die
Funktion ist in der <cstdlib> deklariert.Aber Vorsicht, wenn du mit Parametern vom User her arbeitest, kann system ein sehr
grosses Sicherheitsrisiko sein.mfg
v R
-
virtuell Realisticer schrieb:
allerdings nicht Standard.
Doch.
-
Bashar schrieb:
virtuell Realisticer schrieb:
allerdings nicht Standard.
Doch.
Laut meiner Doku nicht, ist Bestandteil von POSIX und WIN32, bei ANSI-C sowie
ANSI-C++ ist es nicht eingetragen.mfg
v R
-
man 3 system schrieb:
CONFORMING TO
ANSI C, POSIX.2, BSD 4.3wobei man eigentlich in den Standard gucken sollte:
C99 Draft schrieb:
7.20.4.5 The system function
-
Bashar schrieb:
wie in Perl
#include <cstdlib> ... std::system("foo");
funzt nicht!
Error:
E:\Programme\Microsoft Visual Studio\MyProjects\trztrz\wer.cpp(6) : error C2653: 'std' : is not a class or namespace name
E:\Programme\Microsoft Visual Studio\MyProjects\trztrz\wer.cpp(6) : warning C4129: 'c' : unrecognized character escape sequence
Error executing cl.exe.
...
-
# include <iostream.h>
# include <cstdlib>void main()
{
std::system("C:\command.com");
}so sieht mein prog aus..
-
Hi,
dein Programm sollte so aussehen:
# include <iostream> //genau wie <cstdlib> ohne .h # include <cstdlib> int main() //void main ist falsch { std::system("C:\command.com"); return 0; //programm ordnungsgemaess verlassen }
mfg
v R
-
Wenn das nicht geht ist dein Compiler zu alt. Versuchs mal so, das ist nicht 100% State of the art, aber dürfte funktionieren:
#include <stdlib.h> int main() { system("c:\\command.com"); return 0; }
Wieso nennst du dich eigentlich perler? Wenn du Perl kennen würdest, müsstest du eigentlich wissen, dass man Backslashes in Strings escapen muss.
-
Bashar schrieb:
man 3 system schrieb:
CONFORMING TO
ANSI C, POSIX.2, BSD 4.3wobei man eigentlich in den Standard gucken sollte:
C99 Draft schrieb:
7.20.4.5 The system function
Ich gebe mich geschlagen
Hab mich zu sehr auf die Borland-Hilfe verlassen, werde es naechste mal gleich im
Draft nachschauen.mfg
v R
-
Bashar schrieb:
Wieso nennst du dich eigentlich perler? Wenn du Perl kennen würdest, müsstest du eigentlich wissen, dass man Backslashes in Strings escapen muss.
jap, ist mir sehr wohl bewusst, aber ich dachte, das wär ne Eigenart von Perl, die ich nicht einfach auf C++ übertragen kann!