2012-01-07 4 views
2

C++でコマンドラインプログラムを作成することが可能であることを発見しました。 私はC++の新人ですが、基本的なことしか分かりませんが、それを使って新しいコマンドラインプログラムを作成したいのです。これは驚くほど簡単な引数を使ってコマンドラインプログラムを作成する

//file name: getkey.exe 
#include <conio.h> 
int main(){ 
    if (kbhit()) return getche() | ('a' - 'A'); 
} 

、それは次のように実行します:
は今、私はこのコードを発見したGETKEY
しかし、それは、引数(とコマンドを作成する方法を説明していないように:GETKEY/?または/ Kまたは/ foo ...)

引数を使用してコマンドラインプログラムを作成する方法は? < <主な質問

+2

ステップ1:([良い入門C++帳を取得] http://stackoverflow.com/questions/388242/the-definitive-c -book-guide-and-list)を参照してください。ステップ2:その本を読んで練習をする。ステップ3:コマンドライン引数を読み、 'int main(int argc、char ** argv)'でそれらを得る方法。 –

+4

私はあなたが「CMDコマンド」と呼ぶものは、より一般的には「プログラム」として知られていると思います。はい、C++はプログラミング言語であり、プログラムの作成に使用できます。 –

答えて

5

は、これらの二つの引数を取るよう機能mainを定義します。

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

argcは、渡された引数のが移入され、argvは、これらのパラメータの配列となりますヌル終了文字列として使用します。 (Cスタイルの文字列)が

プログラム名自体はそれほどgetkey /?argv[0]は「getkey」になり、argv[1]は、コマンドラインを処理するには、「/?

3

なり、2へのargcを設定しますが、最初のパラメータとしてカウントされます引数は変更:

int main() 

int main(int argc, char** argv) 
argcは、コマンドライン引数の数(要素数は argv)です。 argvは、コマンドラインの引数です( argvの最初のエントリはプログラム実行可能ファイルの名前です)。

4

あなたはmain()の異なる宣言を単にたいと思います:

#include <iostream> 
int main(int ac, char* av[]) { 
{ 
    std::cout << "command line arguments:\n"; 
    for (int i(1); i != ac; ++i) 
     std::cout << i << "=" << av[i] << "\n"; 
} 
関連する問題