[Powered by Google Translate] [コマンドライン引数] [クリストファー·バーソロミュー - ハーバード大学] [これはCS50です - CS50.TV] プログラムのための便利な機能は、ユーザー入力を受け入れることです。 これまでのところ、我々は、CS50ライブラリ内の一部の機能を探求してきた など、ユーザー入力を受け付けるようにする "とは、文字列を取得する" アプリケーションが起動している状態でこれは文字列のために、ユーザーに入力を求めます。 しかし、あなたのプログラム入力を提供したい場合があります それが実際に実行される前に。 このように、あなたはあなたのユーザーから追加情報を求める必要がない 単純なタスクを実行中。 たとえば、mvを取るか、またはUNIXのコマンドを移動します。 このコマンドは、ユーザがある場所から別の場所にファイルを移動することができます。 マニュアルページによると、mvは、2つのコマンドライン引数を受け付けます。 そのファイルは移動されていて、場所は、ファイルはに移動されている。 したがって、この例では、2つの引数を持つコマンドがあります。 それでは、これらのコマンドライン引数を利用するために私達のCプログラムを言うのですか? まあ、それは、我々はすべてのCプログラムで使用するメインは、秘密を持っていることが判明した。 argcとargv:メインは2つのパラメータを受け取ります。 のは、これらの用語の上に行こう。 引数countの略最初のパラメータは、argc、 整数のデータ型を持っています。 argcパラメータは、コマンドを含む引数の数が含まれています。 私たちの移動コマンドでは、我々は2つ​​の引数だけが表示されているものの、 のargcの値は3になります。 引数ベクトルを表し番目のパラメータは、argv、 文字列を指すcharポインタの配列です。 これは、argvの各要素は、ゼロから出発することを意味します コマンドと引数を含む。 私は、argvゼロとして参照することになります例えば、argv [0]は、 常に実行されるコマンドが含まれています - この場合は、mv。 argvは[1] file.txtは最初の引数を、含まれています とargv [2]は2番目の引数が含まれますが、〜/ CS50 /。 argvの最後の引数は、常にnullになります。 それでは、これらのコマンドライン引数を実装してみましょう。 前の練習では、メインのパラメータとしては、何もないことを意味し、voidを置いた。 しかし、私たちは、コマンドライン引数を使用できるようにするためには、 我々は、メインのint argcのボイドと場所の内部を削除する必要がchar *型のargv []。 今、あなたの引数であるARGVから要素全体をアクセスするときは、 あなたは、単にこのような配列を介して、ループの反復処理、またはすることができます。 だから、メインのボディの内側に、我々は先に行くと、forループを入力しようとしている: するfor(int i = 0;のi に含まれています。 それでは、コンパイルして実行し、それを実引数を与えることができるようになります。 我々が見ることができるようにと、、我々は現在、引数内の個々のchar型の正確な位置を持っています。 だから、それはそれだ。私はクリストファー·バーソロミューだが、これはCS50です。 [CS50.TV]