2017-04-07 12 views
-1

私はC++プログラムでは次のことを実行しようとしています:はCでのLinuxのコマンドを実行する++プログラム

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

BinaryFile/home/test/BinaryFile

私はそうのようにそれを実行すると、私が手を含む文字列であります私は次のことをしようとした場合

sh: BinaryFile: No such file or directory 

:出力を次

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

私はこれらのエラーを取得:

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

は、どのように私はこれを正しく実行するために得ることができますか?

+0

、あなたはbashの上で正常にコマンドを実行できることを確認してください。 –

答えて

0

あなたは明示的にコマンドラインを構築する必要があります。

まず
string cmd("strings -n 3 < " + BinaryFile + " > ascii.txt"); 
system(cmd.c_str()); 
関連する問題