2012-02-14 26 views
0

コマンドライン引数の値を受け取り、シェルスクリプトに渡すプログラムを作成しようとしています。 シェルスクリプトを実行するC++プログラムの作成

は、私はすでにシェルスクリプト作成:「findname.sh」

を、これは私はすでに私のmain.cppに

#include <iostream> 
#include <cstdio> 
#include <cstdlib> 

using namespace std; 
char * input1; 
char my_command[50]; 

int main(int argc, char *argv[]) 
{ 
    input1=argv[1]; 
    char* command_line; 
    sprintf(my_command, "./findname.sh %s", input1); 
    if(argc != 2){ 
     system("findname.sh"); 
    cout << "usage: "<< argv[0] << " Some Value\n"; 
    exit(0); 
} 
command_line=argv[1]; 
cout << "You entered :" << command_line <<" from the command line." << endl; 

のために書かれたものである。しかし、私はFindName指定XXXXXX それをルーンしようとすると、コマンドはあなたを助ける精神で

+2

私は誤って質問をしますと思います。 – airplaneman19

+1

私はこのプログラムを最初の引数、つまり36文字で呼びたいと思っています。 –

答えて

3

を見つけていない、あなたはおそらく変更したいと言う:

system("findname.sh"); 

system(my_command); 

にしかし、あなたのコードは混乱し、とにかくコンパイルされません。実行した場合、これは明らかに実行したコードではありません。

構文エラーとすべての不要なものを取り除くと、3行程度になりますので意味があります。

1

それは次のようになります。

system("./findname.sh"); 

代わりの

system("findname.sh"); 
+0

書式設定のヒントを読んだほうがはるかによく機能します。その中で、書式設定にHTMLタグを使用しないでください。 –

+0

それでもシェルスクリプトへの引数は含まれません。 –

関連する問題