0

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

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

    ifstream File(argv[1]) 

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

谢谢!

回答

1

对于初学者来说,你的代码应该开始这样的: 传递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(我们有事情成立的方式,这是..\..\..,但 我想你会发现它有点短。)

2

从菜单中找到:项目 - >道具ERTIES。或者从解决方案资源管理器树中右键单击项目并选择属性。

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

然后在右窗格中找到网名为行:命令参数

与输入文件名填充它(我认为你最好把它放在那里作为一个完整的路径,如果在双配额路径使用空间是这样的:

没有空间:

filepathwithoutspace.txt 

或带空格:

"file path with spaces.txt" 

祝你好运。