文件作为命令行参数

时间:2013-10-09 15:32:15

标签: c++ visual-studio-2010 file visual-c++ command-line-arguments

我是C ++的新手,我正在学习Visual Studio。 我想创建一个从命令行读取文本并打开文本的小程序。我知道我的程序必须这样开始:

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

    ifstream File( argv[1] )

但我对如何从Visual Studio命令提示符运行它感到非常困惑。我知道有很多这样的问题,但我仍然没有找到我想要的东西。我读到你必须去属性,调试和更改命令行参数,但我究竟需要放在那里?我应该在VS命令提示符中输入什么内容。

谢谢!

2 个答案:

答案 0 :(得分:3)

从菜单中找到:Project-> Properties。或者从Solution Explorer树中右键单击项目,然后选择Properties。

现在,在打开的对话框左侧窗格中选择:配置属性 - >调试

然后在右侧窗格中找到标题为“命令参数”

的行

用输入文件名填写(我认为最好把它作为完整路径放在那里,如果路径中有空格使用双配额。就像这样:

没有空间:

filepathwithoutspace.txt

或空格:

"file path with spaces.txt"
祝你好运。

答案 1 :(得分:2)

对于初学者来说,你的代码就像那样开始:之前 你应该将argv[1]传递给std::ifstream::ifstream 验证是否存在参数,并输出错误消息 除此以外。实际上,你最终可能会传递一个空指针 ifstream的构造函数,它将导致(通常) 程序崩溃。

至于如何运行它:你把可执行文件放在哪里?如果 您在Visual Studio命令提示符窗口中,并且具有 调用cl,然后默认情况下,可执行文件应该在。{ 本地目录。只需输入.\name,其中name就是名称 你的程序。如果你真的从内部编译它 IDE,然后在命令窗口中,您应该使用cd进行导航 生成可执行文件的位置(您可以找到它 来自您的属性),并按上述方式调用它;或者你可以简单地 完全指定路径: c:\Users\me\whereeverIPutTheThing\name

如果要调试(使用调试器),则需要指定: 1)可执行文件的名称(但默认值应该是好的), 2)传递它的参数(你想看到的内容) argv[1] - 如果有空格,请不要忘记引号 it),以及3)运行可执行文件的目录。该 第二和第三是有点相互依赖:你可以,为 例如,只指定2中的文件名,以及其中的路径 文件位于3,或者您可以指定完整路径 2中的文件名,忘掉3或者使用组合 二:在实践中,我倾向于从根本上做所有事情 项目的目录,所以我指定一个相对于此的路径 目录,然后是从我的项目文件到此根目录的路径 在3.(我们设置的方式,这是..\..\..,但是 我想你会发现它有点短。)