- main函数也是有参数的 C99 标准中,只有以下两种定义方式是正确的:
int main(void){/*。。。*/}//整数类型主函数(无类型)
int main(int argc,char **argv)//整数类型主函数(整数类型 统计参数个数,字符类型*数组指针至字符[])
其中char **argv可以写成char *argv[],两者等价
#include <iostream>
#include <fstream>
//argc 为系统传给main函数的参数个数,第一个参数为文件的路径,之后的其他参数,因此argc >= 1
//argv 为字符串指针数组的首地址,char* argv[] 相当于char** argv
int main(int argc, char *argv[])
{
if (argc < 2)//保证可以构造下面的文件
{
std::cout << "less para num" << std::endl;
return -1;
}
//利用输入的第一个参数(从文件路径后面的参数数起)构造一个写入的文件
std::ofstream oFile(argv[1], std::ios::out);
//将所有参数输出至上面构造的文件
for(int i = 0 ; i < argc ; ++i)
{
oFile << argv[i] << std::endl;
}
return 0;
}
用cmd编译如下:
生成文件如下: