• C++获取命令行参数命令


    1直接命令行行输入

    在exe文件夹  shift+鼠标右键  从命令行进入当前文件夹

     

    执行 

    2从脚本启动

     

    每个参数用空格分开

    Set ws = Createobject("Wscript.shell")
    
    ws.run "Project1.exe 0 1 ./pic/0/ 2592.88 2048", 1
    WScript.Sleep 200
    
    
    #关闭
    ws.run "taskkill /f /im Project1.exe",0
    

      

    run函数有三个参数,

    第一个参数是你要执行的程序的路径,若路径中存在空格,记得要用""括起来,如 """C:Program Files n.exe"""的形式或者Chr(34)&"C:Program Files n.exe"&Chr(34)的形式,

    第二个程序是窗口的形式,0是在后台运行;1表示正常运行;2表示激活程序并且显示为最小化;3表示激活程序并且显示为最大化;一共有10个这样的参数如下表。

    intWindowStyle 说明
    0 隐藏一个窗口并激活另一个窗口。
    1 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。第一次显示该窗口时,应用程序应指定此标志。
    2 激活窗口并将其显示为最小化窗口。
    3 激活窗口并将其显示为最大化窗口。
    4 按最近的窗口大小和位置显示窗口。活动窗口保持活动状态。
    5 激活窗口并按当前的大小和位置显示它。
    6 最小化指定的窗口,并按照 Z 顺序激活下一个顶部窗口。
    7 将窗口显示为最小化窗口。活动窗口保持活动状态。
    8 将窗口显示为当前状态。活动窗口保持活动状态。
    9 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。还原最小化窗口时,应用程序应指定此标志。
    10 根据启动应用程序的程序状态来设置显示状态。
    

      

    第三个参数是表示这个脚本是等待还是继续执行,如果设为了true,脚本就会等待调用的程序退出后再向后执行。 
    其实,run做为函数,前面还有一个接受返回值的变量,一般来说如果返回为0,表示成功执行,如果不为0,则这个返回值就是错误代码,可以通过这个代码找出相应的错误。

    代码

    #include <iostream>
    
    using namespace std;
    int main(int argc, char *argv[])
    
    {
    	cout << "---------------说明-----------------" << endl;
    	cout << "输入参数都已char数组存在argv[i]" << endl;
    	cout << "输入参数argv[0]是exe的路径" << endl;
    	cout << "输入参数:" << "Project1.exe 0 1 ./pic/0/ 2592.88 2048" << endl;
    	
    	cout << "----------------全部参数----------------" << endl;
    	cout << "输入参数总数是:" << argc << endl;
    
    	for (int i = 0; i < argc; i++) 
    	{
    
    		cout << "第" << i << "个参数是:" << argv[i] << endl;
    	}
    	cout << "----------------参数转化----------------" << endl;
    
    	int c_int2int = atoi(argv[1]); //0
    	cout <<"int参数类型:" << c_int2int << endl;
    
    	string c_int2string= string(argv[1]);//0
    	printf("int参数转化string:%s 
    ", c_int2string);
    
    
    	string c_string2string = string(argv[3]);// ./pic/0/
    	printf("string参数:%s 
    ", c_string2string);
    
    	string c_float2string = string(argv[4]);// 2592.88
    	printf("float数据转string参数:%s 
    ", c_float2string);
    
    	cout << "--------------------------------" << endl;
    	system("pause");
    
    }
    

      

  • 相关阅读:
    有关于* daemon not running.starting it now on port 5037 *ADB
    在android中调用jni,出现ReferenceTable overflow (max=1024)
    15款优秀移动APP产品原型设计工具
    基于Jenkins+git+gradle的android持续集成,jenkinsgradle
    java代码分析及分析工具
    Android客户端SQLite数据库升级方案
    基于Android SQLite的升级
    Android唯一识别码
    Android中获取设备信息的方法
    Android Ubuntu 安装问题FAQ
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/13157298.html
Copyright © 2020-2023  润新知