您的位置:首页 > 大数据 > 人工智能

转: 关于int main(int argc,char *argv[]) 是什么意思

2014-07-10 15:13 417 查看
问:int main(int argc, char* argv[])里的(int argc, char* argv[])是什么意思?为什么要用这个?

答1:

很多程序都是带参数运行的,比如WINDOWS命令行下的很多实用程序。参数增加了程序的灵活性。

你可以在“开始”->“运行”中输入cmd进入命令行。

比如一个叫做del的命令,(删除文件),其实就是del.exe,它带参数的,完整的命令格式可以是

del readme.txt

这个命令将删除当前路径下的readme.txt文件(如果有的话);

此时,运行的程序就是del.exe,而readme.txt就是它的参数,

假设del程序的main函数原型为 int main(int argc, char* argv[]),那么

argc = 1,(1个参数)

argv[0] = “readme.txt”(接收的字符串);

假设一个程序的main函数不带任何参数,那么很显然,它仍可以运行,只是,不接收参数罢啦

答2:

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

假设程序编译成为 cp.exe

然后在命令行中输入

c:\>cp.exe doc1.txt doc2.txt

这行中有三个字符串分别为 cp.exe doc1.txt doc2.txt

则argc为3,即argc是命令行中参数的个数。

char *argv[]为一个指像字符串的数组。

argv[0]="cp.exe"

argv[1]="doc1.txt"

argv[2]="doc2.txt"

即命令行中各各字符串保存在 *argv[]中

归纳:

简单说,这两个就是用于接受参数和记录参数信息的。

因为在LINUX或DOS中, 使用命令后面一般都加上参数等,如:c:\>cp.exe doc1.txt doc2.txt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: