2017-04-07 19 views
-1

Ich versuche, die folgenden in einem C++ Programm auszuführen:Ausführen eines Linux-Befehl in C++ Programm

string cmd("strings -n 3 <BinaryFile> ascii.txt"); 
system(cmd.c_str(); 

BinaryFile ist eine Zeichenfolge, die /home/test/BinaryFile

enthält Wenn ich es wie so laufen, bekomme ich die folgende Ausgabe:

sh: BinaryFile: No such file or directory 

Wenn ich versuche, die folgenden:

ich diese Fehler:

sh -c: line 0: syntax error near unexpected token '(' 
sh -c: line 0: 'strings -n 3 < Binaryfile.c_str() > ascii.txt 

Wie kann ich dies richtig laufen?

+0

Stellen Sie zunächst sicher, dass Sie den Befehl erfolgreich auf bash ausführen können. –

Antwort

0

Sie benötigen eine Befehlszeile explizit zu konstruieren:

string cmd("strings -n 3 < " + BinaryFile + " > ascii.txt"); 
system(cmd.c_str()); 
Verwandte Themen