c++问题 void main(int argc, char*argv[])怎么回事

2024-11-22 06:08:32
推荐回答(4个)
回答(1):

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[]中

回答(2):

在cmd里运行,可以在cmd里输入参数传递到main()函数里。也可以在linux下传入参数。
其中int argc代表你要传入参数的个数(char* argv[]数组中元素个数),char* argv[]是你传入参数的一个char*数组,每个元素类型默认为char*,(类似c_string),在编写void main(int argc, char*argv[])时,对argv[]数组进行处理。例如, 有3个指令要传入,argc为3,argv[]为有3个char*类型元素的数组,在main()中处理就是处理argv[]数组的每个char*类型的元素。

回答(3):

switch(
*argv[0]
)这条不正确,argv[0]是程序名称,看你的程序,argv[1]里才是选项。
另外,switch参数可以使数值或字符,不能使字符串,所以case
'-b'这样的格式是不行的,如果你输入的格式是123.exe
-x
1.txt
2.txt
3.txt,那么可以用
switch(
argv[1][1]
)
{
case
'b'
……
如果你输入的格式是123.exe
x
1.txt
2.txt
3.txt,那么可以用
switch(
argv[1][0]
)
{
case
'b'
……

回答(4):

这是命令行参数,在命令提示符下,可以接受可执行文件后面的字符串作为参数进入main函数
第一个参数是字符串的个数,第二个是字符串。