2017-04-03 8 views
-5

bashコマンドの引数をcのプログラムに渡すにはどうすればよいですか?例えばbashからCへの引数の受け渡し

、私はこのようなものになりますコマンドがある場合:

./c_program argument 

私はCプログラム自体にその引数にアクセスするにはどうすればよいですか? bashのように、$ 1などの変数を使用できますか?

+3

'main()、argv、argc'を参照してください - ' C'本の最初の数ページになければなりません - また、あなたの問題タイトルを使ってインターネット検索から決定できます – KevinDTimm

答えて

1

は、次のコードを試してみて、それが引数の数をどのように動作するかを参照してください。

#include <stdio.h> 
int main(int argc, const char *argv[]) 
{ 
    for (int i=0; i<argc; i++) { 
     printf("%s\n",argv[i]); 
    } 
    return 0; 
} 
0

としてステファン・レヒナー彼のコードに記載された、あなたは変数argcargvを使用しています。まず、これらの変数を取得するコードにint main(int argc, char **argv) {が必要です。 char **argvは、しかし異なっていても、すなわちchar *argv[]作品などconst char *argv[]

char **argvはないことができ、本質的にstringsの配列であるが、文字列のこの種char array(「文字列」の略)などのよく知られています。あなたのコマンドが"./c_program --the-input-you-were-expecting-here"た場合は、このargv[0]の結果に"./c_program"と等しくなるARGVが最初の指標として、あなたのコマンドの./c_program一部を含む、:

int option1 = 0; 
for(int i = 1; i < argc; i++) { 
    if(strcmp(argv[i], "--the-input-you-were-expecting-here") == 0) 
    option1 = 1; 
} 

注:あなたは、多少のようにそれを使用したいと思います。

関連する問題