- ベストアンサー
コマンドとコマンドラインとコマンドラインオプションの違いを教えてください。
ただ今Cの関数を勉強しているのですが、勉強用HPに ************************ int main(int argc, char *argv[ ]) 戻り値:int型、引数:argc, argv 後者は、コマンドライン オプションを受け付ける。 argc はオプションの数、argv はオプションの内容となる。 ************************ とあります。 そこで質問なのですが、コマンドラインオプションとは何ですか? また、 ・コマンド ・コマンドライン ・コマンドラインオプション の違い、それぞれの意味も教えてください。 マックのコマンド+s、コマンド+vみたいなものですか? それともunixのcdや./のようなものでしょうか。 わからない単語が出てくると、 そこで頭が混乱してしまい先に進めない性質なので困っています。 どうぞご教授よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- コマンドライン引数 *argv[]はなぜポインタ?
C言語初心者です。 コマンドライン引数、 int main(int argc, char *argv[]) というのを最近勉強しましたが、引数2番目がポインタになっている理由について、 どなたか教えて下さい。 そういう仕様なんだから、それに従いましょう、ということでしょうか? int main(int argc, char argv[]) では、ダメなのでしょうか? このポインタでの引数渡しについて、 なんらかの納得のいく考え方をご存知の方がいらしたら、教えて下さい。 宜しくお願い致します。
- ベストアンサー
- C・C++・C#
- コマンドプロンプトを使用してのコマンドライン引数
winXPのコマンドプロンプトを利用して 参考書「独習C」を使い、C言語の学習をしています。 その本の7.4の項目~main()の引数~で main(int argc,char *avgv[])を利用すると コマンドラインから引数をとることができるとありますが 私の学習環境ではうまくいきません。 具体的には #include <stdio.h> int main(int argc, char *argv[]) { int i; for(i=1; i<argc; i++) printf("%s ", argv[i]); return 0; } というプログラムを実行しても何も表示されません。 どうすればコマンドライン引数を利用できますか?
- ベストアンサー
- C・C++・C#
- Cocoa をコマンドラインから実行して引数を受け取りたい
C・Objective-C に関して全くの初心者ですが、よろしくお願いします。 Cocoa で作ったアプリをコマンドラインから実行して、渡した引数を NSObject のサブクラスで受け取りたいのですがどうしたらよいでしょうか。 main.m の main 関数で受け取る方法はわかったのですが、サブクラス MyObject.m 内の任意のメソッドに渡す方法がわかりません。 // 引数を受け取って表示する int main(int argc, char *argv[]) { fprintf(stdout, "%s\n", argv[1]); return NSApplicationMain(argc, (const char **) argv); } ご教示いただけますと幸いです。
- ベストアンサー
- C・C++・C#
- C言語でコマンドラインの引数について。
コマンドラインで引数をわたす基本的なプログラムは main(int argc,char *argv[]){....] ですよね。 今回実行時に、 >実行ファイル名 123 + 233 といれたら、123+233を計算してくれるプログラムを作ろうとしています。 その場合、main(int argc,int *argv[]){} としたら、argv[1]に123が入って、argv[2]に+が入って、argv[3]に233が、入るというわけではないんでしょうか? とりあえず、確認で #include<stdio.h> main(int argc,int *argv[]) { printf("%d\n%d\n",argv[1],argv[3]); } としてみたんですが、実行結果は、とても長い数字がでてきてきました。 なにがいけないのか教えてください。 お願いします。 あとWindows MEでVC++6を使ってます。
- ベストアンサー
- C・C++・C#
- コマンドライン引数
コマンドライン引数で以下のようなプログラムを実行したいのですが どうしたらいいのか分かりません!! みなさんの意見を聞かせてください(lll´Д`lll) □☆□□□☆□□□☆□□□☆□ ☆★☆☆☆★☆☆☆★☆☆☆★☆ □☆□□□☆□□□☆□□□☆□ □☆□□□☆□□□☆□□□☆□ ☆★☆☆☆★☆☆☆★☆☆☆★☆ □☆□□□☆□□□☆□□□☆□ □☆□□□☆□□□☆□□□☆□ ☆★☆☆☆★☆☆☆★☆☆☆★☆ □☆□□□☆□□□☆□□□☆□ □☆□□□☆□□□☆□□□☆□ プログラムは途中まで作ったのですが、肝心なとこは 全く分りませんっっ #include <stdio.h> int main(int argc, char *argv[]) { int yoko, tate, i, j; if( argc < 3 ) return(1); sscanf( argv[1], "%d", &yoko ); sscanf( argv[2], "%d", &tate ); for( j = 0; j < tate; j++ ) { printf("\n"); } return(0); } /* end of pat2.c */
- 締切済み
- C・C++・C#
- コマンドラインから引数を渡したいのですが・・・
VC.NETで参考書に載っていた下のようなコードを書きました。 #include <iostream> #include <cstdlib> using namespace std; int main (int argc, char *argv[]) { int sum; if (argc != 3) { cout << "引数の個数が違います。"; return 1; } sum = atoi (argv[1]) + atoi (argv[2]); cout << "合計=" << sum << '\n'; return 0; } しかしながら、引数の個数が違います。としか出力されません。どうすればよろしいでしょうか?
- ベストアンサー
- C・C++・C#
- コマンドラインに入力されている文字列の1文字を出力
○下記のコードについての質問になります #include <stdio.h> int main( int argc, /*コマンドライン引数*/ char *argv[] /*コマンドライン */ ) { int counter; /*ループカウンタ*/ for( counter = 0 ; counter < argc ; counter++) { printf( "argv[%d]:%s\n" , counter , argv[counter] ); } /*----------------------------------------------------------- printf( "コマンドラインの1文字を抜き取る:%c" , ????????); ------------------------------------------------------------*/ return (0); } ○質問 コマンドラインのプログラムになります。 「--」で囲っている部分になりますが、 コマンドラインに入力されている文字列の1文字だけを出力できるように したいのですが、どうすればこれを実現することができるのでしょうか?? 一例として >command.exe orange ringe ^^^^^^ と、コマンドを打ったときに、「^^」の部分になりますが、 orangeの「a」だけを出力させたい場合を、知りたいと思っております。 以上、宜しくお願いします。
- ベストアンサー
- C・C++・C#
- コマンドラインから引数を渡すことについて
----------------------------------------------- #include<stdio.h> #include<stdlib.h> int main(int argc,char *argv[ ]) { FILE *fin,*fout; char ss[256]; if(argc != 3){ printf("引数の数が違います\n"); exit(1); } if((fin=fopen(argv[1],"r"))==NULL){ printf("入力ファイルをオープンできません\n"); exit(1); } if((fout=fopen(argv[2],"w"))==NULL){ printf("出力ファイルをオープンできません\n"); exit(1); } while(fgets(ss,256,fin)!=NULL){ fputs(ss,fout); } fclose(fin); fclose(fout); return 0; } ----------------------------------------------- 以上のプログラム名は「tcopy.cpp」でコマンドプロンプトから実行し、ファイルをコピーするという事を行っていきます。 「aaa.txt」と「bbb.txt」の2つを用意し、「aaa.txt」の内容、 abcdef ABCDEF 012345 を「bbb.txt」にコピーしていきます。 そこで疑問なのですが、ファイルをコピーする際、コマンドプロンプトから、 >tcopy aaa.txt bbb.txt と打ち込むとコピー出来るようであり、「tcopy」、「aaa.txt」、「bbb.txt」が引数になるという事なのですが、何故この3つが引数になるのかという事と、 int main(int argc,char *argv[ ]) のargcに引数が何故代入されるかが分かりません。 後、「aaa.txt」と「bbb.txt」がargv[1]とargv[2]に何故対応しているかが分かりません。 教えていただければ嬉しいです。
- ベストアンサー
- C・C++・C#
- 「コマンドライン引数チェック」て何
#include <stdio.h> int main(int argc, char *argv[]) { FILE *fp; char gyou[1024]; int gyousuu = 0; if ( argc < 2 ){ printf("file mei ga nai\n"); return -1; } fp = fopen(argv[1], "r"); if ( fp == NULL ){ printf("fopen dekinai\n"); return -2; } while(fgets(gyou, sizeof(gyou), fp) != NULL){ gyousuu++; } fclose(fp); printf("gyousuu=%d\n", gyousuu); return 0; } 以上のプログラムはご覧のとおり、「ファイルの行数を計算」のプログラムです。 さて以上の if ( argc < 2 ){ printf("file mei ga nai\n"); return -1; } は「コマンドライン引数チェック」を行っています。・・・ if ( argc < 2 ){の「argcは2以上である必要がある」と参考書に書いてあります。 以上ですが意味が日光手前ですが、プログラムの行数をカウントするうえで、 「コマンドライン引数チェック」とはどんな作業を行っているとこなのでしょうか!? よろしくお願いします。
- ベストアンサー
- C・C++・C#
- コマンドラインのオプションの読み取り
C++で、引数に/オプションで処理ごとに実行するプログラムを書きたいのですが、具体的にmain関数でどう書けばよいのでしょうか? スマートの方法が知りたいです。 sample.exe /test=1 aの関数を実行 sample.exe /test=2 bの関数を実行 sample.exe /test=3 cの関数を実行 int main(int argc, char**argv) { ... ここの処理? } void a(){ print "A\n"; } void b(){ print "B\n"; } void c(){ print "C\n"; }
- ベストアンサー
- C・C++・C#
- キヤノン製品のインクジェットプリンタiX6830で印刷を開始しようとすると、エラー1250排紙トレーエラーが発生し、印刷ができない状況が発生しています。排紙トレーは正しく開いており、上部カバーも閉じているにもかかわらず、このエラーが発生しています。時折、リセットボタンを押すことで印刷ができることもありますが、数ヶ月間問題に直面しています。
- この排紙トレーエラーが発生する原因は複数ありますが、排紙トレーの位置が正しく認識されていないことが一つの可能性です。また、排紙トレーに紙が詰まっている場合や、内部のセンサーに問題がある場合もエラーが発生することがあります。
- 対処方法としては、以下の手順を試してみてください。まず、排紙トレーを取り出し、紙を再度セットし直してください。また、排紙トレーの位置が正しく認識されていない場合は、トレーをしっかりとはめ直してみてください。さらに、内部のセンサーに問題がある場合は、キヤノンのサポートに連絡して修理を依頼することをおすすめします。
お礼
詳しいご説明、どうもありがとうございます。 例の提示と、それに対するわかりやすいご説明のおかげで 今までごっちゃになっていたコマンドの区別がつくようになりました。 ぜひ、今後の参考にさせていただきます。