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

来源:百度知道 编辑:UC知道 时间:2024/05/30 06:29:02
编写程序,使用void main(int argc, char*argv[])函数中的参数传递操作的文件名,定义ofstream的对象对文件进行操作,使用read()和write()成员函数读入数据,用二进制方式读写指定的文件a.bin,在每一行前加行号,写入另一个二进制文件b.bin中,从b.bin中读取数据输出到屏幕。

想问问void main(int argc, char*argv[])里int argc, char*argv[]这两个参数怎么用? char*argv[]是什么意思,表示什么东西?
行号怎么完成?

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

在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*类型的元素。

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