可以通过在程序的main()函数中添加形式参数来接收程序在启动时从命令行中获得的各个命令行参数,包括:程序名称、路径、当前环境变量和用户指定参数等。命令行参数由启动程序截获并传递给main()。
一个典型的命令行例子如:
Mycopy
srcFile
destFile
一个典型的main()例子如:
int
main(
int
argc,
char
argv[
]
,
char
envp[
]
);
argc
指示数组指针argv中包含的参数个数,该整数总是大于等于1。
argv
一个以NULL以为的字符串数组,存储用户输入的命令行参数。按照惯例,argv[0]为程序调用的命令,如c:\mycopyexe;argv[1]为第一个命令行参数,直到argv[argc-1];argv[argc]总是NULL。
envp
存储执行当前程序的用户环境变量
#include<stdioh>
int
main(int
argCount,char
argValue[],
char
envp[])
{
FILE
srcFile
=
0,
destFile
=0;
int
ch
=
0;
int
i
=
0;
if
(argCount
!=
3){
printf("Usage:%s
src-file-name
dest-file-name\n",argValue[0]);
}else{
if((srcFile
=
fopen(argValue[1],"r"))
==
0){
printf("Can
not
open
source
file\"%s\"!",argValue[1]);
}else{
if((destFile
=
fopen(argValue[2],"w"))
==0){
printf("Can
not
open
destination
file\"%s\"!",argValue[2]);
}else{
while((ch
=
fgetc(srcFile))!=
EOF)
fputc(ch,destFile);
printf("Successful
to
copy
a
file!\n");
fclose(srcFile);
fclose(destFile);
printf("%d
command
line
parameters
are
got
in
program
\n",argCount);
printf("All
command
line
parameters
are
list
here:\n");
while(envp[i]!=NULL){
printf("%s\n",argValue[i]);
i++;
}
i
=
0;
printf("The
variable
set
is
list
here:\n");
while(envp[i]!=NULL){
printf("%s\n",envp[i]);
i++;
}
return
0;
}
}
}
return
1;
}
命令行参数是保存在argv[]里的。argc只是说参数的个数。命令行参数一般是从argv[1]开始(包括argv[1])argv[0]是程序的名字。在输命令的时候,命令行参数之间用空格隔开。
只能是这样的啊
agrc 表示参数的个数
agrv 里面存放的详细的信息
agrv [0]表示程序的名称和路径
agrv[1]表示这个程序的第一个参数
agrv[2]表示的是这个程序的第二个参数
以此类推
1、打开集成开发工具(如vc60、C-Free 5)。
2、新建一个文件testc,文件名因人而异。
3、路径我放到了d:\test下,路径也可以随意。
4、编辑源程序。并进行编译连接。
5、在存储经过编译连接的testexe的文件夹中新建一个记事本文件内容输入CMD,并用另存为更名为abat。
6、双击abat,打开命令提示符,输入testexe [参数](testexe 后边有空格。可以输入任意字符)。
OK了。另外程序有一个地方有点错、for(i=0;i<argc;i++)
为了表达清楚,有点繁琐。望采纳。
命令行参数就是在命令行环境下执行程序是给程序提供的参数
你有两种选择:
1在命令提示符下执行程序
打开命令提示符,将路径调到生成的exe文件所在的文件夹
在命令行中输入你的exe文件的名称(如testexe),接着输入空格,在输入参数,参数间用空格隔开
如:
C:\test\Debug>test a b c
输出
a
b
c
2如果你用的是VC6,可以在进行相关设置
选择工程菜单下的设置选项,选择调试选项卡,在程序变量框内输入命令行参数就可以了
以上就是关于什么是命令行参数本人是c++菜鸟全部的内容,包括:什么是命令行参数本人是c++菜鸟、c语言检查命令行参数是什么意思、C语言命令行参数问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)