記事のディレクトリ
プログラムが実行されている場合、一部のパラメータは、彼らは基本的に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)
著者:倫理コード農業
記事の誤字、またはコンテンツのエラー、またはその他の提案やコメントは、正しい私にメッセージをお願いした場合、どうもありがとうございました!!!