当前位置:首页 » 编程语言 » c语言argv

c语言argv

发布时间: 2022-06-12 04:54:53

1. c语言argv[]存放的是什么

#include<stdio.h>

intmain(intargc,char**argv)
{
inti;
for(i=0;i<argc;i++)
printf("%s ",argv[i]);

return0;
}

比方这个程序叫 main.c 吧,先编译成 main.exe

gcc main.c -o main.exe

然后用命令运行

main.exe aefae 2423 asdae

程序输出:

main.exe

aefae

2423

asdae

argv 是通过命令行传送给程序的参数的字符串指针数组,argc 是参数的个数

2. C语言的argv参数的赋值问题

main只有这两个参数。argc表示参数(包括程序名)个数,argv是一个指针数组,其中每个指针指向一个字符串,即一个参数,因此argv[0]就是程序名,argv[1]就是第一个参数
比如
#./sort
1
2
则argc=3,argv[0]是"sort",argv[1]是"1",argv[2]是"工处遁肺墚镀蛾僧阀吉;2"。

3. c语言中argc和argv是什么意思

一般用于主函数参数
int main(int argc, char * argv[]);
argc和argv用来接收命令行参数
argc是参数个数,包括命令本身。
argv为字符串数组,每个元素 是一个参数的字符串。
比如
运行
a.exe bc deg as ww
那么
argc=5
argv = {"a.exe", "bc", "deg", "as", "ww"}

4. C语言的argc,argv怎么用

argv是指向char
*的指针,也就是指向字符指针的指针
int
argc
是参数个数
主要用于命令行方式启动的应用程序,或者带参数启动的应用程序
再详细一些:
argc
是参数的数目,第一个参数是程序名,所以argc至少有1,如果argc大于1的话,说明有参数输入,
argv是具体参数列表,例如argv[1]是第一个参数的名字,argv[2]是第二个参数的名字
c:\myopenfile.exe
filename
openmethod
表示启动myopenfile程序,第一个参数是打开的文件名,第二个参数是打开方式
相应的,argc=3,argv[1]=filename,argv[2]=openmethod

5. c语言中argc和argv是什么意思

argc 是 argument count的缩写,表示argv这个二级指针指向的内存区域中保存的由stub写入的有效命令行参数的个数.

argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要输入的main函数的参数个数是argc-1个。

(5)c语言argv扩展阅读

argc和argv的使用:

#include<stdio.h>

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

{

if(argc==1||argc>2)

printf("请输入想要编辑的文件名如:fillname");

if(argc==2)

printf("编辑%s ",argv[1]);

return 0;

}

6. c语言为什么char *argv[]和char**argv是等价的

这二者其实不是等价的——前者:argv是个数组,数组的每一个元素都是char *型指针;后者:argv是个指针,指向了cahr *型指针。用于main函数的形参时,由于C的函数是传值调用的,就是说传数组时只需要一个首地址(指针),所以编译器把形参中的x[](x[10]等)都只解释为*x(只有作函数形参时是这样,别的地方意义是不同的),所以char *argv[]就把argv[]解释成了*argv,结果整体就变成了char **argv了(注意在main中并不是argv而是argc,argc是第一个形参,是int类型)!这可能如下验证:

#include"stdio.h"
intmain(intargc,char*argv[]){
char*a[]={"123","456","abc","ABC"},**p=a;
printf("%d%d ",sizeof(a),sizeof(p));
return0;
}

执行结果:

看a数组有16个字节,而p只有4个字节。且,无论a的内容有多少,p都是4字节。你可能试试。

7. C语言中argc与argv怎么用为什么我初始化argc时候老是出错

argc与argv[]是启动C程序时系统传入的,可以直接使用。argc是参数数量,argv是参数表数组。如命令行为“prg.exe 1 2 3”,则argc为4,argv[0]="prg.exe",argv[1]="1",argv[2]="2",argv[3]="3"。以下是LCC-WIN32模板文件(加了一行显示所有参数语句):
/* --- The following code comes from e:\lcc\lib\wizard\textmode.tpl. */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void Usage(char *programName)
{
fprintf(stderr,"%s usage:\n",programName);
/* Modify here to add your usage message when the program is
* called without arguments */
}

/* returns the index of the first argument that is not an option; i.e.
does not start with a dash or a slash
*/
int HandleOptions(int argc,char *argv[])
{
int i,firstnonoption=0;

for (i=1; i< argc;i++) {
if (argv[i][0] == '/' || argv[i][0] == '-') {
switch (argv[i][1]) {
/* An argument -? means help is requested */
case '?':
Usage(argv[0]);
break;
case 'h':
case 'H':
if (!stricmp(argv[i]+1,"help")) {
Usage(argv[0]);
break;
}
/* If the option -h means anything else
* in your application add code here
* Note: this falls through to the default
* to print an "unknow option" message
*/
/* add your option switches here */
default:
fprintf(stderr,"unknown option %s\n",argv[i]);
break;
}
}
else {
firstnonoption = i;
break;
}
}
return firstnonoption;
}

int main(int argc,char *argv[])
{
if (argc == 1) {
/* If no arguments we call the Usage routine and exit */
Usage(argv[0]);
return 1;
}
/* handle the program options */
HandleOptions(argc,argv);
/* The code of your application goes here */

for (int i=0;i<argc;i++)printf("%s ",argv[i]);

return 0;
}

8. c语言 求详细步骤 argc argv 啥意思啊

main是个函数,argc、argv是输入的参数,但是和一般的函数又不太一样,这里argc(argument
count
:参数个数)argv(argument
vector(大概是):指针数组,指向参数内容)。
argc至少为1,这是ex后没有任何参数,argv[0]指向ex程序的路径如E:\ex.exe;
ex
abcd
efg
h3
k44,有4个参数,加上默认的共有5个参数,分别如下:
argv[0]
指向路径E:\ex.exe;\
argv[1]
指向字符串"abcd"
argv[2]
指向字符串"efg"
argv[3]
指向字符串"h3"
argv[4]
指向字符串"k44"
for
循环计算的是argv[1]、argv[3]两个字符串的长度和4+2=6,所以为D

热点内容
androidant编译 发布:2024-05-19 05:04:11 浏览:986
按键脚本优化 发布:2024-05-19 04:59:57 浏览:751
怎么下载压缩包 发布:2024-05-19 04:47:47 浏览:9
二嫂水仙ftp 发布:2024-05-19 04:47:42 浏览:160
云隙服务器下载 发布:2024-05-19 04:33:22 浏览:315
德国C语言 发布:2024-05-19 04:13:40 浏览:965
音频管理器没有文件夹 发布:2024-05-19 04:13:36 浏览:667
qq邮箱端口993服务器怎么填 发布:2024-05-19 04:07:05 浏览:204
javaapi框架 发布:2024-05-19 04:06:59 浏览:365
与存储结构无关的术语 发布:2024-05-19 04:05:41 浏览:500