(int argc, char *argv[])也可以写成(int argc, char** argv)
int argc, char **argv are the command line arguments (argv) and their number (argc).
argc 是外部命令行参数的个数,argv[] 存放各参数的内容。下面看个例子 edit.cpp 就会明白它们的用法了:
#include
<
iostream
>

//
using namespace std;
int
main(
int
argc,
char
*
argv[])
{
if (argc == 1 || argc > 2) {
std::cout << "请输入想要编辑的文件名如:./edit filename ";
}
if (argc == 2) {
std::cout << "编辑 " << argv[1] << std::endl;
}
}
如果在程序的开头加入: using namespace std; 就不用在程序体内加入很多的std::, "std::"是一个域运算符。
[参考] C++入门解惑(1)——浅析cout
编译该程序:
$ g++ -o edit edit.c
运行:
$ ./edit
结果: 请输入想要编辑的文件名如:./edit filename
再运行:
$ ./edit edit.txt
结果: 编辑 edit.txt
看到这里 argc,argv[] 如何用就很明白了,如上例:
执行 ./edit 时,argc 为1,argv[0] 为 ./edit
执行 ./edit edit.txt 时,argc 的值为 2,argv[0]为./edit,argv[1]为 edit.txt
顺藤摸瓜之~
一个系列文章,适于初学者(比如我):
C++入门解惑(0)——序
C++入门解惑(1)——浅析cout
C++入门解惑(2)——初探指针(上)
C++入门解惑(3)——初探指针(下)
C++初学解惑(4)——构造函数(上)
C++初学解惑(5)——构造函数(中)
好像没完~
int argc, char **argv are the command line arguments (argv) and their number (argc).
argc 是外部命令行参数的个数,argv[] 存放各参数的内容。下面看个例子 edit.cpp 就会明白它们的用法了:













如果在程序的开头加入: using namespace std; 就不用在程序体内加入很多的std::, "std::"是一个域运算符。
[参考] C++入门解惑(1)——浅析cout
编译该程序:
$ g++ -o edit edit.c
运行:
$ ./edit
结果: 请输入想要编辑的文件名如:./edit filename
再运行:
$ ./edit edit.txt
结果: 编辑 edit.txt
看到这里 argc,argv[] 如何用就很明白了,如上例:
执行 ./edit 时,argc 为1,argv[0] 为 ./edit
执行 ./edit edit.txt 时,argc 的值为 2,argv[0]为./edit,argv[1]为 edit.txt
顺藤摸瓜之~
一个系列文章,适于初学者(比如我):
C++入门解惑(0)——序
C++入门解惑(1)——浅析cout
C++入门解惑(2)——初探指针(上)
C++入门解惑(3)——初探指针(下)
C++初学解惑(4)——构造函数(上)
C++初学解惑(5)——构造函数(中)
好像没完~