vs2010 怎么给c++项目预设命令行参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2010 怎么给c++项目预设命令行参数相关的知识,希望对你有一定的参考价值。

这里的command arguments 和 working directory填什么?

command argument就是命令行参数。比如你自己写了一个copy程序,跟系统自带的copy程序一样,打开cmd,然后输入copy c:\\1.txt d:这样的命令,那么此时就把c:\\1.txt和d:这两个参数以字符串的形式传递给了int main(int argc,char *argv[]) 中的argv,并用argc来保存参数的个数。如果没有参数,比如你在cmd中输入copy或者双击copy.exe这个程序,传入main函数的就是copy.exe程序的路径,比如c:\\copy.exe,也就是说命令行参数至少有一个,就是运行的程序路径。所以command argument就是程序路径、空格、参数1、空格、参数2...
working directory就是工作路径,有很多程序需要的外部文件都在这个路径了里面查找。比如要打开文件,比如fopen("1.txt","r");这样不带路径而直接输入文件名,就搜索这个工作路径,没有搜索到则fopen返回NULL。一般程序和文件都是在一个文件夹的,这样便于阅读与查阅。
参考技术A 就是第二行是设置参数的 command arguments

VS 编写C++时使用技巧

1. 给命令行添加参数:

比如test.cpp中需要读取用户在控制台中输入的参数,

在gcc中可以这样写:

编译:g++ -Wall test.cpp  -o test

运行:test param1 param2....

其中param是你要输入的参数 。

在int main(int argc,char ** argv)中,argv[0]表示程序名,即text,argv[1]开始输入的第一个参数,argv[2]开始输入的第二个参数,以此类推。

name在VS中怎么输入参数呢?

一VS2015为例:

右键要添加参数的文件所在的工程,点击属性-->配置属性-->调试,如下图:

技术分享图片

在命令参数下添加参数即可。

注意:各个参数之间用空格进行分隔,当参数中含有空格时,要将参数用双引号括起来,否则空格不会被添加到参数中。

参考代码:

int main(int argc, char **argv)
{
    string str;
    for (int i = 0; i < argc; ++i)
    {
        str += argv[i];
        str += " ";
    }
    cout << str << endl;
    system("pause");
    return 0;
}

2. VS下同一个解决方案下不同工程之间头文件的相互调用

同一个解决方案下可以建立不同的项目,可以通过以下方式实现不同项目之间头文件共享:

假设有一个解决方案下有两个Project,分别为ProjectA和PtojectB,如果ProjectA中的testA.cpp文件用到了ProjectB中的testB.h头文件,name可以通过右击ProjectA-->属性-->通用属性-->C/C++-->常规,找到附加包引项目,如图:

技术分享图片

在附加包引项目中输入testB.h所在的项目名称即可。

这样,在项目testA中#include "testB.h"就不会报错了。

以上是关于vs2010 怎么给c++项目预设命令行参数的主要内容,如果未能解决你的问题,请参考以下文章

VS2010 使用命令行参数调试

命令行下编译vs2010工程怎么做

vs2010使用main函数

如何在windows的命令行环境下编译C++程序?

在命令行中将构建工具从 VS2010 更改为 VS2015

在 C++ 中解析命令行参数? [关闭]