首页 > 编程语言 >各种编译环境中如何为C++添加命令行参数(Command-line parameter)

各种编译环境中如何为C++添加命令行参数(Command-line parameter)

时间:2022-11-10 15:07:35浏览次数:71  
标签:Run C++ 参数 arguments 命令行 Command line

因恐其内容丢失所以重新编辑到本博文中


在实际的编程中,我们经常使用命令行参数。命令行参数的英文是Command-line parameter或者是argument,下面是wikipedia中关于​​Command-line parameter​​的定义与解释,


A command-line argument or parameter is an item of information provided to a program when it is started. A program can have many command-line arguments that identify sources or destinations of information, or that alter the operation of the program.

从以上文字中我们大致可以获取这些信息:

  1. 命令行参数在程序开始运行的时候传递给程序。
  2. 命令行参数作用大致有三方面:
  • 确定信息的来源(比如输入文件来自哪里)
  • 确定信息的终点  (比如输出的内容去向哪里)
  • 切换程序的操作执行 (比如一个sort的program,可以通过parameter调整,选择使用quick sort,merge sort或者其他)

在IDE(​​Intergrated development environments​​)中编写程序,有时会因为找不到在哪里设置命令行参数,所以就直接在程序里面设置variable,给定value,这个习惯很不好,给后续的debug带来了困难。所以在此记录常用的一些IDE中如何设置命令行参数

1. Code::Blocks(Version 13.12)

在最上面一行菜单之中找到Project,之后在Project的下拉menu中找到set programs‘ arguments,把命令行参数填入Program arguments之中即可,如Fig.1中所示,sampleCaseInput.in为命令行参数。

各种编译环境中如何为C++添加命令行参数(Command-line parameter)_入口参数

Fig.1.  Code::Blocks 填写命令行参数界面

2. Visual Studio(VS2012)

在工程名字上右击鼠标,点击Properties(属性),选择Debugging,右侧有Command Arguments,填入即可,注意空格隔开,如果想让一个argument中包含空格,用双引号(double quotations)引起来即可。如Fig.2中所示

各种编译环境中如何为C++添加命令行参数(Command-line parameter)_入口参数_02

Fig.2.  VS2012中 填写命令行参数界面

3. Eclipse for C/C++ Developer(Version:LunaServiceRelease4.4.1)

在界面最上面一行中找到Run,之后点击,分别有Run Configurations... 和 Debug Configurations..., 看是要直接运行就选择前者,要Debug就选择后者。

点击之后出现如下界面,选择Project的名字,选择Arguments,之后在Program Arguments下面填写上你要使用的Command-line arguments即可。如Fig.3中所示

各种编译环境中如何为C++添加命令行参数(Command-line parameter)_入口参数_03

Fig.3.  Eclipse中 填写命令行参数界面4. Qt Creator(Version:3.0.1)点击左侧Project,在Build&Run中选择Run,之后在Run中可以看到Arguments一栏,讲arguments填入即可,如Fig.4中所示,

各种编译环境中如何为C++添加命令行参数(Command-line parameter)_参数_04

Fig.4.  Qt Creator中 填写命令行参数界面

最后给出一段​​测试​​Command line arguments的Sample Code(示例代码),
#include <iostream> #include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;

//
//Tips: argc stands for "argument count", argv stands for "argument vector", Aha, it's much more easier for us to remember them
int main(int argc, char *argv[])
{
int numArg = argc;

cout<<"The total number of command arguments is: "<<numArg<<endl;

for(int i = 0;i<numArg;i++)
{
cout<<"Argument # "<<i<<argv[i]<<endl;
}

cin.get();
cin.get();
return 0;

}


在VS中, Command Arguments设置为:I am "Jeff WANG"(双引号内视为一个参数), 输出结果如Fig.5所示:

各种编译环境中如何为C++添加命令行参数(Command-line parameter)_Command-line paramet_05

Fig.5.  VS 运行命令行参数示例程序输出结果

标签:Run,C++,参数,arguments,命令行,Command,line
From: https://blog.51cto.com/u_15872025/5841622

相关文章

  • C++'s most vexing parse
    本文地址https://www.cnblogs.com/wanger-sjtu/p/16876846.htmlC++'smostvexingparse是ScottMeyers在其名著《EffectiveSTL》中创造的一个术语。Scott用这个术......
  • C++语言程序设计课程设计任务书
    C++语言程序设计课程设计任务书一.课程设计的目的全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法。正确理解掌握C++面向对象程序设计的基本特性:类、对......
  • 个人翻译Introduction to Linear Algebra, 5th Edition 9.1节(仅用于交流学习,非盈利)
    本书的翻译仅为交流学习!才疏学浅,不当的地方还望指正。请勿于其它用途!PDF文件 链接一:   https://pan.baidu.com/s/1XLIiwvrkyiATWKeyQgAvPQ提取码:6cpv  链接二:h......
  • 学习笔记-Flutter 布局(四)- Baseline、FractionallySizedBox、IntrinsicHeight、Intrin
    Flutter布局(四)-Baseline、FractionallySizedBox、IntrinsicHeight、IntrinsicWidth详解本文主要介绍Flutter布局中的Baseline、FractionallySizedBox、IntrinsicHeight......
  • windows 环境安装C++
    #进入网页进行下载https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/?td......
  • C++ 单例模式
    有时候用到单例模式,记录一下。另外,有时候也用静态函数。头文件:1#ifndefDATABASEMANAGER_H2#defineDATABASEMANAGER_H345#include"operatesqlite.h"......
  • CommandArgument用法
    https://www.cnblogs.com/lyy445910200/p/5420554.html1.绑定数据库中一个主键前台代码:<ItemTemplate>                       <asp:ImageButton......
  • python中f.read()与f.readline区别
    众所周知在python中读取文件常用的三种方法:read(),readline(),readlines(),今天看项目是又忘记他们的区别了。以前看书的时候觉得这东西很简单,一眼扫过,待到用时却也只知道有......
  • C++中virtual(虚函数)的用法
    C++中virtual(虚函数)的用法在面向对象的C++语言中,虚函数(virtual function)是一个非常重要的概念。什么是虚函数:虚函数是指一个类中你希望重载的成员函数,当你用一个......
  • 问题 E: 零基础学C/C++184——吉祥数
    可以利用cishu数组来记录每个数字是否被淘汰。本题的关键就是再算出如题的数组b的时候向a数组检查是,不能因为第一个数被淘汰而不算他的吉祥数,应在一轮计算结束的时候遍历......