プロが教えるわが家の防犯対策術!

独習Cを使って勉強しているんですが、コマンドライン引数の意味がわかりません
本に書いてある通りプログラムしても、エラーが出てしまいます
コマンドライン引数ってなに?

A 回答 (3件)

OSはWindowsを使っているならば、


・Windowsキー + [R]
・cmdと入力
・リターン
で、コマンドプロンプトが表示されます。

あるプログラムを実行する際は、
>c:\****\sample.exe
※****はご自身の環境に読み替えてください
とするとおもいますが、sample.exeの後に半角スペースを
入れてプログラムにデータを渡すことができます。
例)
>c:\****\sample.exe aaa bbb

この場合、sample.exeのC言語のmain関数を
int main(int argc, char *argv[])
などと定義した場合、aaaはargv[1]で、bbbはargv[2]で
参照可能です。(argv[0]にはsample.exeのパスが入っています)

プログラムは、ユーザーが起動時に指定するデータを元に
いろいろと処理することが可能なります。
(たいていはオプション指定に使われることが多いと思います)
    • good
    • 0

> コマンドライン引数ってなに?



プログラム実行時に、プログラムに与えるパラメータのことです。

例えば当該図書の7.4章の最初のサンプルch17-16.c
------
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]){

int i;

for ( i = 1; i < argc; i++)
printf("%s ", argv[i]);

return 0;
}
------
をコンパイルしてできた、ch17-16.exeを下記の様に実行するとした場合
「abc」「def」「ghi」がコマンドライン引数になります。

実行:
ch17-16.exe abc def ghi

実行結果:
abc def ghi
    • good
    • 1

単純に、hoge というプログラムを実行する時には


hoge[Return]
と入力しますが
hoge foo xyz[Return]
と入力すると、"foo", "xyz" がプログラム起動時に引数として渡されます。

例)
int main(int argc, char *argv[])
と記述されていた場合、変数値は
argc = 3
argv[0] = 'hoge'    ;プログラム名
argv[1] = 'foo'
argv[2] = 'xyz'
となります。

>本に書いてある通りプログラムしても、エラーが出てしまいます
どんなエラーが出ていますか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!