ページ 11

コマンドライン引数

Posted: 2007年9月16日(日) 13:24
by 天丼
本で学習しています。
コマンドラインから引数をつけてプログラムを実行すると、
main()関数の引数にプログラム自身のファイル名と
コマンドライン引数の情報が入るプログラムです。

問題は実行画面で cmdparam.exe enum orange apple と入力したいのに
続行するには何かキーを押して下さいと出るだけでプログラムが終了してしまうことです。

#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[/url])
{
int i;
if(argc<=1)
return;
if(strcmp(argv[1],"enum")==0)
for(i=0;i<argc;i++)
printf("argv[%d] : %s\n",i,argv);
else if(strcmp(argv[1],"count")==0)
printf("コマンドライン引数の数:%d\n",argc-1);
}

本の実行画面では
cmdparam.exe enum orange appleと入力してenterを押すと

argv[0] : cmdparam.exe
argv[1] : enum
argv[2] : orange
argv[3] : apple

cmdparam.exe count orange appleと入力してenterを押すと
コマンドライン引数の数 : 3
と表示されています。

Re:コマンドライン引数

Posted: 2007年9月16日(日) 14:24
by たかぎ
ちゃんと動いていますよ。

> 続行するには何かキーを押して下さいと出るだけでプログラムが終了してしまうことです。

環境も分かりませんし、現象を再現することができませんでした。

Re:コマンドライン引数

Posted: 2007年9月16日(日) 18:51
by toyo
何かの開発環境から直接プログラムを実行しているようですね
コマンドラインというのはコマンドプロンプトという黒い画面のウィンドウを開いてそこに入力するということです。
でもディレクトリを移動やファイル一覧を表示といった基礎的なコマンド等を知っていないとちょっときびしいかも。

Re:コマンドライン引数

Posted: 2007年9月17日(月) 15:20
by 天丼
開発環境は
windows vista home premium
vc++2005 express edition
です。