言語の主な機能は、20.Cパラメータ


プログラムが実行されている場合、一部のパラメータは、彼らは基本的にCプログラムいること、などのLinuxオペレーティング・システム・コマンドなどのパラメータなし、との一部を持参する必要があります。

1)Linuxのコマンド、多くの引数なし。

pwd  #显示当前目录
clear  #清屏

2)Linuxのコマンドパラメータのほとんど。

cp  book1.c book2.c
mkdir /tmp/dname
mv book3 /tmp/dname/book3
rm -rf /tmp/dname

あなたは引数を実行していない、今Cプログラムで書かれたC言語を、学習の初期段階では非常に簡単ですが、実際の開発では、主な機能は、一般的なパラメータ、パラメータなしまれが必要です。

主な機能パラメータが渡されたときにそのようなlsコマンドなどのコマンドプロンプトからプログラムの実行。

ここに画像を挿入説明

lsコマンド上記の例では、2つのパラメータ.C?-lとBOOK1を持っています。

まず、パラメータの主な機能

三つの主要な関数のパラメータ、ARGC、ARGVとenvpはありますが、言葉で表現その標準は次の通り:

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

コマンドライン引数の数を格納int型のargc、。

CHAR
* ARGV []は、文字列の配列であり、各要素は、文字列、すなわち、各行のコマンドパラメータに文字ポインタです。

CHAR
* envpを[]は、文字列配列であり、この配列の各要素は、環境変数への文字ポインタへのポインタです。

envpを最初のargcとargvについて話をする、それを置きます。

実施例(book101.c)

/*
 * 程序名:book101.c,此程序演示main函数的参数。
 * 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>

int main(int argc,char *argv[])
{
  int ii=0;

  // 显示参数的个数
  printf("argc is %d\n",argc);

  // 列出全部的参数
  for (ii=0;ii<argc;ii++)
  {
    printf("argv[%d] is %s\n",ii,argv[ii]);
  }
}

業績

ここに画像を挿入説明

いくつかのことに注意してください。

最初のパラメーターは、プログラムのプログラム名であるため、1)ARGC値、すなわち、ARGV [0]は、パラメータ1を足した数であり、上記の例では、ARGV [0] ./book101あります。

パラメータ2)主な機能、整数または浮動小数点の書き込みのいずれかが、すべての文字列と見なされます。

argcという名前と3をargvを)パラメータは、プログラマの大会で、あなたもargdまたは引数を使用しますが、お勧めできません。

第二に、C書かれたプログラム仕様

主な機能は、プログラムの実行すべてのパラメータがあるが、パラメータ、引数とどのようにユーザーがプログラムの意味を知っているの後、数を持っていると仮定し、それを覚えていますか?マニュアルを参照してください?いや、良いプログラマは、プログラム内の説明文を提供します。例で見てみましょう。

実施例(book103.c)

/*
 * 程序名:book103.c,此程序演示main函数的参数。
 * 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>

int main(int argc,char *argv[])
{
  if (argc!=6)
  {
    printf("\n这是一个超女选秀程序,根据提供的超女信息,判断"\
           "她是否符合王妃的标准。\n\n");
    printf("用法:./book103 name age height sc yz\n");
    printf("例如:./book103 西施 22 170 火辣 漂亮\n");
    printf("name   超女的姓名。\n");
    printf("age    超女的年龄。\n");
    printf("height 超女的身高,单位:cm。\n");
    printf("sc     超女的身材,火辣;普通;飞机场。\n");
    printf("yz     超女的颜值,漂亮;一般;歪瓜裂枣。\n\n");

    return -1;
  }

  printf("您输入的超女信息是:姓名(%s),年龄(%s),身高(%s),身材(%s),颜值(%s)。\n",\
          argv[1],argv[2],argv[3],argv[4],argv[5]);

  printf("正在计算中,请稍候......\n");

  if (((atoi(argv[2]) >=  20) && (atoi(argv[2]) <=  30)) &&  // 年龄在20-30之间
      ((atoi(argv[3]) >= 165) && (atoi(argv[3]) <= 175)) &&  // 身高在165-175之间
      ((strcmp(argv[4],"火辣")==0)                     ) &&  // 身材火辣
      ((strcmp(argv[5],"漂亮")==0)                     ))    // 颜值漂亮
  {
    printf("超女(%s)选秀合格,送往后宫。\n",argv[1]); return 0;
  }
  else
  {
    printf("超女(%s)选秀不合格,发放五两银子后送回家。\n", argv[1]); return 0;
  }
}

プログラムを実行している場合は、パラメータが一致しない場合、次のように操作した結果です。

ここに画像を挿入説明

数はパラメータ、以下の作用効果と一致した場合。

ここに画像を挿入説明

設計パラメータを提供することと一致していないプログラムの実行時間は、プログラムが使用するための指示を表示する場合は、上記の例からわかるように、説明のテキストは、すべてのパラメータとプログラムの機能だけでなく、作者を含め、連絡先情報や詳細の説明を含める必要があります情報。

プログラムのテキストを使用すると、いくつかの理由のために非常に重要です。

1)ユーザプログラムは、必ずしもプログラムを作成せず、マニュアルやその他の情報を確認する必要はありません。

ユーザー2)プログラムがプログラムを書きます場合でも、私は使用時には、ソースコードを参照する必要はありませんでした、そしてあなたは、必ずしも彼がソースコードを見たいと思っていません。

3)ユーザプログラムは、あなたが所有していることであれば、時間をかけて、あなたはプログラムのパラメータを忘れてしまいます。

もちろん、これらは契約ではなく、C言語の単なるプログラマの規定があります。

三、envpをパラメータ

envpを現在のプログラムの動作環境のパラメータを記憶します。

実施例(book105.c)

/*
 * 程序名:book105.c,此程序用于演示当前程序运行环境的参数envp。
 * 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>

int main(int argc,char *argv[],char *envp[])
{
  int ii = 0;

  while (envp[ii] != 0)  // 数组最后一个元素是0
  {
    printf("%s\n",envp[ii]); ii++;
  }
}

業績

ここに画像を挿入説明

注意、のenv book105は、Linuxシステムのコマンドを使用して、結果を実行します。

実際の開発では、アプリケーションシナリオenvpをパラメータがずっと、あなたがライン上に見えます。

第四に、宿題

サンプルプログラムを作成し、このセクションは再びすべてのデモの知識を説明し、デモ・プログラムは、ご理解とマッピングを深めることができます。

V.著作権

C言語Technology Networkのオリジナルの記事、論文、著者と元にソースリンクを明記してくださいを再現。
出典:C言語テクノロジーネットワーク(www.freecplus.net)
著者:倫理コード農業

記事の誤字、またはコンテンツのエラー、またはその他の提案やコメントは、正しい私にメッセージをお願いした場合、どうもありがとうございました!

公開された29元の記事 ウォンの賞賛2 ビュー675

おすすめ

転載: blog.csdn.net/m0_45133894/article/details/104649390