现在的位置: 首页 > 综合 > 正文

int main(int argc, char *argv[])的理解,运用其获取文件名

2017年10月14日 ⁄ 综合 ⁄ 共 744字 ⁄ 字号 评论关闭

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

argc是命令行总的参数个数 ,记录了用户在运行程序的命令行中输入的参数的个数。 
argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数;
arg[]指向的数组中至少有一个字符指针,即arg[0].它通常指向程序中的可执行文件的文件名。

在有些版本的编译器中还包括程序文件所在的路径。

例:

第一步 在vc中建立工程文件输入代码:

int   main(int   argc,   char*   argv[])   
{   
int   i;   
for   (i   =   0;   i<argc;   i++)   
cout<<argv[i]<<endl;   
cin>>i;   
return   0;   
}   
第二步 设置命令行参数在vc种做法如下

菜单Project(项目)——Seting(设置),在右边Debug(调试)选项卡下的Program arguments(命令行中)填上你要设置的相应参数
此例中我输入的是: this is a test
如下图所示:
int main(int argc, char *argv[])解释及VC下示例实现 - 一架蔷薇 - 蔷薇·海饼干
 
第三步 编译、链接、运行
输出如下图

 

int main(int argc, char *argv[])解释及VC下示例实现 - 一架蔷薇 - 蔷薇·海饼干

 

此例中agrc的值即agrc[]的元素个数为4,

agrc[0] = this

agrc[1] = is

agrc[2] = a

agrc[3] = test 


这里我们可以用来获取文件名

例如:

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

{

QString qs;

qs = TR(argv[0]);

qsAppFilePath = qs.toStdString();

qsAppFileDir = qsAppFilePath;

qsAppFileDir.cdup();


gsInfoFileDir = gsAppFileDir;

}

这样我们就获取到了文件所在的目录

抱歉!评论已关闭.