我是C ++的新手,我正在学习Visual Studio。 我想创建一个从命令行读取文本并打开文本的小程序。我知道我的程序必须这样开始:
int main (int argc, char *argv[] ){
ifstream File( argv[1] )
但我对如何从Visual Studio命令提示符运行它感到非常困惑。我知道有很多这样的问题,但我仍然没有找到我想要的东西。我读到你必须去属性,调试和更改命令行参数,但我究竟需要放在那里?我应该在VS命令提示符中输入什么内容。
谢谢!
答案 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.(我们设置的方式,这是..\..\..
,但是
我想你会发现它有点短。)