main函数的参数

合集下载

main函数的c++标准

main函数的c++标准

main函数的c++标准在C++中,main函数是程序的入口点,所有的C++程序都必须包含这个函数才能正常运行。

main函数有两个常用的标准写法,即:1. int main()2. int main(int argc, char* argv[])第一种写法是不带参数的main函数,它表示程序不接受命令行参数,返回值是一个整数类型。

这种写法在大多数情况下都足够使用。

第二种写法是带参数的main函数,它表示程序可以接受命令行参数,参数个数由argc表示,参数内容由argv数组存储。

argc是一个整数类型,表示参数个数;argv是一个指向字符指针数组的指针,每个指针指向一个命令行参数的字符串。

以下是两种写法的示例代码:1. int main()```cpp#include <iostream>int main(){// 程序逻辑代码return 0;```2. int main(int argc, char* argv[])```cpp#include <iostream>int main(int argc, char* argv[]){// 程序逻辑代码return 0;}```当程序运行时,操作系统会调用main函数作为程序的入口点,并传递相应的参数。

如果使用第一种写法,程序会直接进入main函数中,执行函数体内的代码。

在函数体内,我们可以编写程序的逻辑代码,来实现相应的功能。

最后,通过return语句返回一个整数值,一般来说,返回0表示程序执行成功,其他返回值表示程序执行失败。

如果使用第二种写法,程序可以接受命令行传递的参数。

argc表示参数个数,argv是一个指向字符指针数组的指针,可以通过遍历argv数组来依次获取命令行传递的参数。

下面是一个带参数的main函数的示例代码:```cpp#include <iostream>int main(int argc, char* argv[]){if (argc > 1) {std::cout << "命令行参数个数:" << argc - 1 << std::endl; std::cout << "命令行参数内容:" << std::endl;for (int i = 1; i < argc; ++i) {std::cout << argv[i] << std::endl;}} else {std::cout << "没有命令行参数" << std::endl;}return 0;}```在上述示例代码中,通过判断argc的值,可以确定是否有命令行参数传递给程序。

main函数原型

main函数原型

main函数原型Main函数原型是编程语言中的一个重要概念,它定义了程序的入口点和参数。

在这篇文章中,我们将深入探讨main函数的原型,包括其语法、参数和返回值等方面。

让我们来了解一下main函数的语法。

在大多数编程语言中,main 函数的原型通常是这样的:int main(int argc, char *argv[])其中,int表示main函数的返回值类型,通常为整数类型;argc 表示命令行参数的个数;char *argv[]表示命令行参数的数组。

接着是参数int argc,它表示命令行参数的个数。

命令行参数是指在程序运行时从命令行中输入的参数,比如在命令行中输入"program.exe arg1 arg2",其中arg1和arg2就是命令行参数。

argc参数的值为命令行参数的个数加1,其中包括程序名称本身。

最后是参数char *argv[],它表示命令行参数的数组。

argv数组中的每个元素都是一个字符串,表示一个命令行参数。

argv[0]表示程序的名称,argv[1]、argv[2]等表示其他命令行参数。

通过遍历argv数组,我们可以获取每个命令行参数的值,从而对程序进行相应的操作。

在main函数中,我们可以根据需要使用命令行参数来控制程序的行为。

比如,我们可以根据命令行参数的值来判断程序是执行某个功能还是执行另一个功能;或者我们可以根据命令行参数的值来读取相应的输入文件或输出文件等等。

除了命令行参数,main函数还可以使用其他方式来获取输入。

比如,我们可以使用标准输入流stdin来获取用户的输入,然后根据输入来执行相应的操作。

类似地,main函数也可以使用标准输出流stdout来输出结果。

在编写main函数时,我们需要注意一些细节。

首先,我们应该对命令行参数的个数进行合理的判断和处理,以避免出现数组越界的错误。

其次,我们应该对命令行参数的值进行合法性检查,以防止恶意输入或非法操作。

关于main函数的叙述

关于main函数的叙述

关于main函数的叙述main函数是C语言中的一个非常重要的函数,它是程序的入口点,也是程序执行的起始点。

在一个C语言程序中,必须有且只能有一个main函数。

本文将从几个方面详细介绍关于main函数的一些重要内容。

main函数是C语言程序的入口函数。

当程序被运行时,操作系统会首先调用main函数开始执行程序。

main函数的定义通常是这样的:int main() {}。

其中,int是main函数的返回类型,表示main 函数执行完毕后会返回一个整数值;main是函数名;空括号表示main函数不接收任何参数。

我们可以根据需要给main函数添加参数,例如int main(int argc, char *argv[]),这样main函数就可以接收命令行参数。

main函数的返回值可以用来表示程序的执行状态。

根据C语言标准,main函数的返回值可以是0或者非0的整数。

返回值为0通常表示程序执行成功,而非0的返回值则表示程序执行失败或出现了错误。

我们可以根据main函数的返回值来判断程序的执行结果,从而进行相应的处理。

比如,在shell脚本中,可以根据程序的返回值来判断是否执行成功。

main函数可以调用其他函数来完成特定的任务。

在C语言中,我们可以在main函数内部调用其他函数,这些函数可以是由我们自己定义的,也可以是系统提供的函数库中的函数。

通过调用其他函数,我们可以将程序的功能模块化,提高代码的可读性和可维护性。

例如,我们可以将一些复杂的计算逻辑封装成一个函数,然后在main函数中调用这个函数来完成相应的计算。

main函数还可以接收命令行参数。

在命令行中执行程序时,可以给程序传递一些参数,这些参数可以在main函数中进行处理。

命令行参数通常以字符串的形式传递给main函数,我们可以使用argc 和argv两个参数来接收这些参数。

其中,argc表示命令行参数的个数,argv是一个指针数组,每个元素指向一个命令行参数的字符串。

带参数的main函数

带参数的main函数

带参数的main函数第⼀个带参数的main。

#include <iostream.h>int main(int argc,char *argv[]){for(inti=0;i<argc;i++){cout<<argv[i]<<'\t'; //}return0;}/*int argc, char **argv ⽤于运⾏时,把命令⾏参数传⼊主程序。

argc -- 命令⾏参数总个数,包括可执⾏程序名。

argv[i] -- 第 i 个参数。

argv[0] -- 可执⾏程序名。

*/关于带参数的main函数⽹络收集:int main(int argc,char **argv) 这⾥⾯的**argv含义··是⽤来传递参数的,假如你编译成的⽂件名是a.exe,那么在命令提⽰符下可以通过a.exe12 34来向程序传递参数,这时两个参数就会传递到字符串数组argv中,注意此时实际传递了三个参数,第⼀个参数是⽂件名,第⼆个参数是12,第三个是34,⽽argc就是参数个数。

int argc, char **argv ⽤于运⾏时,把命令⾏参数传⼊主程序。

argc -- 命令⾏参数总个数,包括可执⾏程序名。

argv[i] -- 第 i 个参数。

argv[0] -- 可执⾏程序名。

// 例如运⾏:abc.exeargc 等于1, argv[0] 是"abc.exe"// 例如运⾏:rec.exe 45.2argc 等于3, argv[0] 是"rec.exe", argv[1] 是"4", argv[2] 是"5.2".主函数⾥若有:int x;float y;char s[80];strcpy(s,argv[0]); // 程序名存⼊了 ssscanf(argv[1],"%d",&x); // x 得到数值4sscanf(argv[2],"%f",&y); // y 得到数值 5.2ANSI-C(C89/C99)的话main()函数有2种主要形式。

JAVA中在声明main的时候的String[]args是什么意思?

JAVA中在声明main的时候的String[]args是什么意思?

JAVA中在声明main的时候的String[]args是什么意思?
在JAVA中,String[] args是main函数的形式参数。

String[] args代表main 函数的参数,表⽰字符串参数。

String[] args 作⽤:java在命令⾏运⾏的时候要⽤到java命令:java Test value1 value2,命令后⾯是两个参数,在main函数⾥⾯args[]就是两个长度的数组value1存在args[0]中,value2存在args[1]中。

在Java中有这样⼀条语句:public static void main(String[] args)。

其中的args是Java命令⾏参数,在DOS中执⾏Java程序的时候使⽤“java ⽂件名 args参数”。

args这个数组可以接收到这些参数。

扩展资料
String[] args的⽤法:
从函数参数的形式上看,String[] args包含⼀个整型和⼀个指针数组。

当⼀个C的源程序经过编译、链接后,会⽣成扩展名为.EXE的可执⾏⽂件,这是可以在操作系统下直接运⾏的⽂件,换句话说,就是由系统来启动运⾏的。

对main()函数既然不能由其它函数调⽤和传递参数,就只能由系统在启动运⾏时传递参数了。

在操作系统环境下,⼀条完整的运⾏命令应包括两部分:命令与相应的参数。

其格式为:命令参数1参数2....参数。

此格式也称为命令⾏。

命令⾏中的命令就是可执⾏⽂件的⽂件名,其后所跟参数需⽤空格分隔,并为对命令的进⼀步补充,也即是传递给main()函数的参数。

python main参数传递

python main参数传递

python main参数传递一、前言在Python中,我们可以通过命令行参数来向程序传递参数。

其中,main函数的参数是Python命令行程序中最常用的参数之一。

本文将详细介绍Python main参数传递。

二、Python main函数在Python程序中,main函数是程序的入口函数,也是程序执行的起点。

在执行一个Python脚本时,解释器会首先查找该脚本中是否存在main函数。

如果存在,则会自动调用该函数。

三、传递命令行参数在Python中,我们可以通过sys模块来获取命令行参数。

sys.argv 是一个包含命令行参数的列表,其中第一个元素是脚本文件名。

例如,在命令行中执行以下命令:```python test.py arg1 arg2 arg3```则sys.argv的值为:```['test.py', 'arg1', 'arg2', 'arg3']```四、获取main函数的参数在Python中,我们可以使用argparse模块来解析命令行参数,并将其传递给main函数。

首先,我们需要导入argparse模块:```pythonimport argparse```然后,我们可以创建ArgumentParser对象,并添加需要解析的命令行选项和参数:```pythonparser = argparse.ArgumentParser()parser.add_argument("-a", "--arg1", help="argument 1") parser.add_argument("-b", "--arg2", help="argument 2") args = parser.parse_args()```上述代码定义了两个选项:-a和-b,分别对应arg1和arg2参数。

为什么需要main函数,及其参数的用法

为什么需要main函数,及其参数的⽤法⾸先,需要明确main函数是什么?答:main函数是C语⾔约定的⼊⼝函数C99标准⾥⾯是这样描述的:Program startupThe function called at program startup is named main.The implementation declares no prototype for this function. It shall be defined with a return type of int and with no parameters:int main(void) { /*...*/ }or with two parameters (referred to here as argc and argv,though any names may be used, as they are local to the function in which they are declared):int main(int argc, char *argv[]) { /*...*/ }同时,规定了main函数的两种常见形式:int main(void) 和 int main(int argc, char *argv[])对于第⼀种形式⼤家经常⽤到,⽽第⼆种情况中的参数⽤法,可能关注的不太多,下⾯我们会进⼀步提及。

关于将main函数约定为⼊⼝函数(即:执⾏⼊⼝)的提法,MSDN上也有提到:A special function named main is the starting point of execution for all C and C++ programs. If you are writing code that adheresto the Unicode programming model, you can use wmain, which is the wide-character version of main.地址:https:///en-us/library/6wd819wh.aspx从上⾯的讨论,可以知道main函数是约定⼊⼝函数,那么标题“为什么需要main函数”,可以引申为“为什么需要⼊⼝函数”。

带命令行参数的main函数详解

带命令⾏参数的main函数详解C的设计原则是把函数作为程序的构成模块。

main()函数称之为主函数,⼀个C程序总是从main()函数开始执⾏的。

⼀、main()函数的形式在最新的 C99 标准中,只有以下两种定义⽅式是正确的: (参阅ISO/IEC 9899:1999 (E) 5.1.2.2.1 Program startup)int main( void )--⽆参数形式{...return 0;}int main( int argc, char *argv[] )--带参数形式{...return 0;}int指明了main()函数的返回类型,函数名后⾯的圆括号⼀般包含传递给函数的信息。

void表⽰没有给函数传递参数。

关于带参数的形式,我们等会讨论。

浏览⽼版本的C代码,将会发现程序常常以 main()这种形式开始。

C90标准允许这种形式,但是C99标准不允许。

因此即使你当前的编译器允许,也不要这么写。

你还可能看到过另⼀种形式:void main() 有些编译器允许这种形式,但是还没有任何标准考虑接受它。

C++ 之⽗ Bjarne Stroustrup 在他的主页上的 FAQ 中明确地表⽰:void main( ) 的定义从来就不存在于 C++ 或者 C 。

所以,编译器不必接受这种形式,并且很多编译器也不允许这么写。

坚持使⽤标准的意义在于:当你把程序从⼀个编译器移到另⼀个编译器时,照样能正常运⾏。

⼆、main()函数的返回值从前⾯我们知道main()函数的返回值类型是int型的,⽽程序最后的 return 0; 正与之遥相呼应,0就是main()函数的返回值。

那么这个0返回到那⾥呢?返回给操作系统,表⽰程序正常退出。

因为return语句通常写在程序的最后,不管返回什么值,只要到达这⼀步,说明程序已经运⾏完毕。

⽽return的作⽤不仅在于返回⼀个值,还在于结束函数。

现在我们来做⼀个⼩试验(注意:本⼈的系统是Windows XP, 编译环境是TC)来观察main()函数的返回值。

电脑中main的用法

电脑中main的用法在计算机科学中,main是一个很常见的术语,它代表着程序的入口点。

在编写程序时,我们往往会定义一个main函数或者方法来指定程序的起始位置。

本文将介绍电脑中main的用法,以及它的作用和一些常见的用法。

首先,让我们来讨论一下main函数的作用。

在大多数编程语言中,main函数被认为是程序的起点。

当我们运行一个程序时,操作系统会从main函数开始执行程序的代码。

这意味着我们可以在main函数中定义程序的起始逻辑,包括初始化变量、调用其他函数和执行特定的操作。

换句话说,main函数是程序的入口,它决定了程序的执行流程。

接下来,让我们看一看main函数的语法和用法。

main函数的语法会因编程语言的不同而有所不同,但大致上都遵循相似的规则。

在C和C++中,main函数的定义如下:```int main() {// 程序的起始逻辑return 0;}```在Java中,main函数的定义如下:```public static void main(String[] args) {// 程序的起始逻辑}```在Python中,我们使用特殊的if语句来定义主函数:```if __name__ == "__main__":# 程序的起始逻辑```无论编程语言如何定义main函数,它们的作用都是一样的:作为程序的入口点。

主函数可以接受参数,这些参数可以在程序启动时由命令行传递。

例如,在C和C++中,main函数可以有两个参数:argc和argv。

argc表示命令行参数的数量,argv是一个包含命令行参数的数组。

我们可以利用这些参数来控制程序的行为和逻辑。

在Java中,main函数接受一个字符串数组args作为参数,我们也可以利用这些参数来实现不同的功能。

在Python中,我们可以通过sys模块的argv列表来获取命令行参数。

除了作为程序的入口点外,main函数还可以用于测试和调试程序。

int main参数说明

Main()是C/C++的一重要函数,叫主函数。

无论程序多复杂,代码中必须有这么一个函数,也只能有一个main()函数;程序执行时就是从这个函数进入的。

int指明了main()函数的返回类型。

浏览老版本的C代码,将会发现程序常常以main()这种形式开始。

C90标准允许这种形式,但是C99标准不允许。

因此即使你当前的编译器允许,也不要这么写。

函数名后面的圆括号一般包含传递给函数的信息。

void表示没有给函数传递参数。

具体到main()来讲,main为主函数不存在上一级的函数,所以
int main(void)表示不接受命令行参数,int main(int argc,char *argv[])则会接受命令行参数:第一个int argc,是记录你输入在命令行上的字符串个数;第二个*argv[]是个指针数组,存放输入在命令行上的字符串。

如果你将此函数完成后编译成为一个程序test,当你在命令行输入test a.c b.c t.c时:
argc = 4
argv[0] = "test"
argv[1] = "a.c"
argv[2] = "b.c"
argv[3] = "t.c"。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、main函数的参数我们经常用的main函数都是不带参数的。

因此main 后的括号都是空括号。

实际上,main函数可以带参数,这个参数可以认为是main函数的形式参数。

C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。

因此,main函数的函数头可写为:main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。

加上形参说明后,main函数的函数头应写为:main (argc,argv)int argv;char *argv[];或写成:main (int argc,char *argv[])由于main函数不能被其它函数调用,因此不可能在程序内部取得实际值。

那么,在何处把实参值赋予main函数的形参呢? 实际上,main函数的参数值是从操作系统命令行上获得的。

当我们要运行一个可执行文件时,在DOS提示符下键入文件名,再输入实际参数即可把这些实参传送到main的形参中去。

DOS提示符下命令行的一般形式为:C:\>可执行文件名参数参数……; 但是应该特别注意的是,main 的两个形参和命令行中的参数在位置上不是一一对应的。

因为,main的形参只有二个,而命令行中的参数个数原则上未加限制。

argc参数表示了命令行中参数的个数(注意:文件名本身也算一个参数),argc的值是在输入命令行时由系统按实际参数的个数自动赋予的。

例如有命令行为:C:\>E6 24 BASIC dbase FORTRAN由于文件名E6 24本身也算一个参数,所以共有4个参数,因此argc取得的值为4。

argv参数是字符串指针数组,其各元素值为命令行中各字符串(参数均按字符串处理)的首地址。

指针数组的长度即为参数个数。

数组元素初值由系统自动赋予。

其表示如图6.8所示:main(int argc,char *argv){while(argc-->1)printf("%s\n",*++argv);}本例是显示命令行中输入的参数如果上例的可执行文件名为e24.exe,存放在A 驱动器的盘内。

因此输入的命令行为:C:\>a:e24 BASIC dBASE FORTRAN则运行结果为:BASICdBASEFORTRAN该行共有4个参数,执行main时,argc的初值即为4。

argv的4个元素分为4个字符串的首地址。

执行while语句,每循环一次argv值减1,当argv等于1时停止循环,共循环三次,因此共可输出三个参数。

在printf函数中,由于打印项*++argv是先加1再打印,故第一次打印的是argv[1]所指的字符串BASIC。

第二、三次循环分别打印后二个字符串。

而参数e24是文件名,不必输出。

下例的命令行中有两个参数,第二个参数20即为输入的n值。

在程序中*++argv的值为字符串“20”,然后用函数"atoi"把它换为整型作为while语句中的循环控制变量,输出20个偶数。

#include"stdlib.h"main(int argc,char*argv[]){int a=0,n;n=atoi(*++argv);while(n--) printf("%d ",a++*2);}本程序是从0开始输出n个偶数。

指向指针的指针变量如果一个指针变量存放的又是另一个指针变量的地址,则称这个指针变量为指向指针的指针变量。

在前面已经介绍过,通过指针访问变量称为间接访问,简称间访。

由于指针变量直接指向变量,所以称为单级间访。

而如果通过指向指针的指针变量来访问变量则构成了二级或多级间访。

在C语言程序中,对间访的级数并未明确限制,但是间访级数太多时不容易理解解,也容易出错,因此,一般很少超过二级间访。

指向指针的指针变量说明的一般形式为:类型说明符** 指针变量名;例如:int ** pp; 表示pp是一个指针变量,它指向另一个指针变量,而这个指针变量指向一个整型量。

下面举一个例子来说明这种关系。

main(){int x,*p,**pp;x=10;p=&x;pp=&p;printf("x=%d\n",**pp);}上例程序中p 是一个指针变量,指向整型量x;pp也是一个指针变量,它指向指针变量p。

通过pp变量访问x的写法是**pp。

程序最后输出x的值为10。

通过上例,读者可以学习指向指针的指针变量的说明和使用方法。

下述程序中首先定义说明了指针数组ps并作了初始化赋值。

又说明了pps 是一个指向指针的指针变量。

在5次循环中,pps 分别取得了ps[0],ps[1],ps[2],ps[3],ps[4]的地址值(如图6.10所示)。

再通过这些地址即可找到该字符串。

main(){static char *ps[]={ "BASIC","DBASE","C","FORTRAN","PASCAL"};char **pps;int i;for(i=0;i<5;i++){pps=ps+i;printf("%s\n",*pps);}}本程序是用指向指针的指针变量编程,输出多个字符串。

二、我刚接触到这两个变量时,根本不知道它们是用来做什么的,我想很多人也跟我一样,刚看到这两个变量时也是稀里糊涂的。

其实: int main(int argc,char *argv[]) 是UNIX 和Linux 中的标准写法,而int main() 只是UNIX 及Linux 默许的用法..那究竟argc,argv[] 有何之用呢?下面看个例子edit.c 就会明白它们的用法了:#include<unistd.h>#include<stdio.h>int main(int argc,char *argv[]){if(argc==1 || argc>2) {printf("请输入想要编辑的文件名如:./edit fillen");}if(argc==2) {printf("编辑%sn",argv[1]);}exit(0)}编译该程序:gcc -o edit edit.c运行:./edit结果:请输入想要编辑的文件名如:./edit fille运行:./edit edit.txt结果:编辑edit.txt看到这里argc,argv[] 如何用就很明白了,argc 是外部命令参数的个数,argv[] 存放各参数的内容,如上例:执行./edit 时,argc 为1,argv[0] 为./edit .而执行./edit edit.txt 时,argc 的值为2,argv[0] 为./edit,argv[1] 为edit.txt .三、main(int argc,char **argv)argv为指针的指针argc为整数char **argv or: char *argv[ ] or: char argv[ ][ ]main()括号内是固定的写法。

下面给出一个例子来理解这两个参数的用法:假设程序的名称为prog,1.当只输入prog,则由操作系统传来的参数为:argc=1,表示只有一程序名称。

argc只有一个元素,argv[0]指向输入的程序路径及名称:./prog2.当输入prog para_1,有一个参数,则由操作系统传来的参数为:argc=2,表示除了程序名外还有一个参数。

argv[0]指向输入的程序路径及名称。

argv[1]指向参数para_1字符串。

3.当输入prog para_1 para_2 有2个参数,则由操作系统传来的参数为:argc=3,表示除了程序名外还有2个参数。

argv[0]指向输入的程序路径及名称。

argv[1]指向参数para_1字符串。

argv[2]指向参数para_2字符串。

void main( int argc, char *argv[ ] )char *argv[] : argv是一个指针数组,他的元素个数是argc,存放的是指向每一个参数的指针,他的第一个元素即argv[0]为编译生成的可执行文件名(包括路径eg:"F:\VC\Ex1\Debug\Ex1.exe"),从二个元素(argv[1])开始,是每一个参数 .int argc 表示argv的大小,是实际参数个数+1,其中+1是因为argv[0]是编译后的可执行文件名argv 参数的字符串形式的数组1.你可以传入多个参数,如果参数中有字符串,但是该串中包含空白,这个参数加上“”就可以了,eg:test.exe aa "test bb"2.如果你传入了3个参数,你真正的参数是从下标1开始的,也就是对你参数的引用为“argv[1],argv[2],argv[3]”,argv[0]是个什么你可以测试一下了!3.如果你只传入了3个参数,你就只能引用三个参数。

C/C++ code//把这个保存为test.c,你执行它的 test.exe a b cint main(int argc, char** argv){int x = 0;for(x=0;x<argc;x++)printf("%d,%s\n",x,argv[x]);return 0;}四、简单的说,就是命令行参数!argc 是外部命令参数的个数,argv[] 存放各参数的内容,如上例:执行./edit 时,argc 为1, argv[0] 为./edit .而执行./edit edit.txt 时,argc 的值为2,argv[0] 为./edit,argv[1] 为edit.txt .int argc 参数个数char** argv 参数数组,,数组大小就是前面那个参数,通过数组下标访问里面存放的内容,例如argv[0],argv[1]五、int main(int argc,char **argv)//argc,argv[]是命令行参数,其中argc是参数的个数,argv[]存的是参数的字符串,比如你做好了一个有命令行参数的程序存在D盘,那么在c提示符中输入D://程序名.exe aa bb aa 其中aa bb aa就是参数argc=4 argv[0]=D:// (x)argv[1]=aa 以此类推{int contral=0;if(argc>1)//如果参数除路径以外还有其他的if(strcmp(argv[1],"/s")==0)goto next1;autorun_explorer();//这个应该是自定义函数spawnl(1,"c:\\windows\\system\\explorer.exe",NULL);/*函数名: spawnl功能: 创建并运行子程序用法: int spawnl(int mode, char *pathname, char *arg0,arg1, ... argn, NULL);程序例:#include <process.h>#include <stdio.h>#include <conio.h>int main(void){int result;clrscr();result = spawnl(P_WAIT, "tcc.exe", NULL);if (result == -1){perror("Error from spawnl");exit(1);}return 0;}*/next1:add_reg();//下面的函数一概是自己定义的吧,我学的不深没见过这些函数copy_virus();make_rubbish();/* remove_files(); */spawnl(1,"c:\\windows\\system32\\mstsc32.exe"," /s",NULL);return 0;。

相关文档
最新文档